#pragma once #include #include #include #include #include #define DMON_MAX_WATCHES 256 #include "vendor/dmon/dmon.h" typedef std::function CallbackFunction; class DMonWrapper { struct CallbackContext { CallbackFunction callback; }; static bool g_dmonInitialized; static std::mutex g_dmonMutex; std::map m_callbacks; public: DMonWrapper(); ~DMonWrapper(); dmon_watch_id Watch(const std::filesystem::path& path, CallbackFunction callback, bool recursive = false); void Unwatch(dmon_watch_id watchId); std::vector GetWatchIds(); };