summaryrefslogtreecommitdiffstats
path: root/sync_manager.hpp
blob: 45bfca44139bc6467394e61f2ee1e0950529d78a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once

#include <experimental/filesystem>

namespace phosphor
{
namespace software
{
namespace manager
{

namespace fs = std::experimental::filesystem;

/** @class Sync
 *  @brief Contains filesystem sync functions.
 *  @details The software manager class that contains functions to perform
 *           sync operations.
 */
class Sync
{
  public:
    Sync() = default;
    Sync(const Sync&) = delete;
    Sync& operator=(const Sync&) = delete;
    Sync(Sync&&) = default;
    Sync& operator=(Sync&&) = default;
    ~Sync() = default;

    /**
     * @brief Process requested file or directory.
     * @param[in] mask - The inotify mask.
     * @param[in] entryPath - The file or directory to process.
     * @param[out] result - 0 if successful.
     */
    int processEntry(int mask, const fs::path& entryPath);
};

} // namespace manager
} // namespace software
} // namespace phosphor
OpenPOWER on IntegriCloud