]> git.sesse.net Git - casparcg/blobdiff - common/filesystem_monitor.h
[streaming_consumer] Started the process of retiring ffmpeg_consumer so that streamin...
[casparcg] / common / filesystem_monitor.h
index 4ba435e88715362342404096f3a3c8f450bc3427..c44662d292e6bda3ec0822ce6a73075fe97a5211 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "memory.h"
 #include "future_fwd.h"
+#include "enum_class.h"
 
 namespace caspar {
 
@@ -58,13 +59,13 @@ public:
         *
         * @param file The file to reemmit.
         */
-       virtual void reemmit(const boost::filesystem::wpath& file) = 0;
+       virtual void reemmit(const boost::filesystem::path& file) = 0;
 };
 
 /**
  * The possible filesystem events.
  */
-enum filesystem_event
+enum class filesystem_event
 {
        CREATED = 1,
        REMOVED = 2,
@@ -72,6 +73,7 @@ enum filesystem_event
        // Only used for describing a bitmask where all events are wanted. Never used when calling a handler.
        ALL = 7
 };
+ENUM_ENABLE_BITWISE(filesystem_event);
 
 /**
  * Handles filesystem events.
@@ -81,7 +83,7 @@ enum filesystem_event
  * @param event Can be CREATED, REMOVED or MODIFIED.
  * @param file  The file affected.
  */
-typedef std::function<void (filesystem_event event, const boost::filesystem::wpath& file)> filesystem_monitor_handler;
+typedef std::function<void (filesystem_event event, const boost::filesystem::path& file)> filesystem_monitor_handler;
 
 /**
  * Called when the initially available files has been found.
@@ -90,7 +92,7 @@ typedef std::function<void (filesystem_event event, const boost::filesystem::wpa
  *
  * @param initial_files The files that were initially available.
  */
-typedef std::function<void (const std::set<boost::filesystem::wpath>& initial_files)> initial_files_handler;
+typedef std::function<void (const std::set<boost::filesystem::path>& initial_files)> initial_files_handler;
 
 /**
  * Factory for creating filesystem monitors.
@@ -118,12 +120,12 @@ public:
         * @return The filesystem monitor handle.
         */
        virtual filesystem_monitor::ptr create(
-                       const boost::filesystem::wpath& folder_to_watch,
+                       const boost::filesystem::path& folder_to_watch,
                        filesystem_event events_of_interest_mask,
                        bool report_already_existing,
                        const filesystem_monitor_handler& handler,
                        const initial_files_handler& initial_files_handler =
-                                       [] (const std::set<boost::filesystem::wpath>&) { }) = 0;
+                                       [] (const std::set<boost::filesystem::path>&) { }) = 0;
 };
 
-}
\ No newline at end of file
+}