|  | #pragma once | 
|  |  | 
|  | #include <filesystem> | 
|  |  | 
|  | namespace phosphor | 
|  | { | 
|  | namespace software | 
|  | { | 
|  | namespace manager | 
|  | { | 
|  |  | 
|  | namespace fs = std::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. | 
|  | */ | 
|  | static int processEntry(int mask, const fs::path& entryPath); | 
|  | }; | 
|  |  | 
|  | } // namespace manager | 
|  | } // namespace software | 
|  | } // namespace phosphor |