PowerToys/src/modules/fancyzones/lib/FileWatcher.h
Ivan Stošić e2ca4177dd
[FancyZones] Implement File Watcher (#8603)
* Implement File Watcher in FancyZones

* Simplify code, address PR comments

* Add check to result of CreateEventW

* Rebase fix

Removed unneeded newline. If we keep it now, VS will just remove it some other time.
2020-12-16 14:53:48 +01:00

20 lines
431 B
C++

#pragma once
#include "pch.h"
class FileWatcher
{
DWORD m_refreshPeriod;
std::wstring m_path;
std::optional<FILETIME> m_lastWrite;
std::function<void()> m_callback;
HANDLE m_abortEvent;
std::thread m_thread;
std::optional<FILETIME> MyFileTime();
void Run();
public:
FileWatcher(const std::wstring& path, std::function<void()> callback, DWORD refreshPeriod = 1000);
~FileWatcher();
};