sync_manager: Add callback to do rsync

Call rsync when the subscribed file or directory is modified or
deleted. Don't create error logs as syncing is used for backup
and does not affect the system's operation. Any errors will be
logged into the journal.

Closes openbmc/openbmc#2918

Change-Id: I2671f0afd2924c15ea883d4d037c641c6e9680b4
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/sync_manager.hpp b/sync_manager.hpp
index a940461..45bfca4 100644
--- a/sync_manager.hpp
+++ b/sync_manager.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include <experimental/filesystem>
+
 namespace phosphor
 {
 namespace software
@@ -7,6 +9,8 @@
 namespace manager
 {
 
+namespace fs = std::experimental::filesystem;
+
 /** @class Sync
  *  @brief Contains filesystem sync functions.
  *  @details The software manager class that contains functions to perform
@@ -24,9 +28,11 @@
 
     /**
      * @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 processEntry(int mask, const fs::path& entryPath);
 };
 
 } // namespace manager