Watcher prototype » History » Revision 7
« Previous |
Revision 7/17
(diff)
| Next »
Greg Burri, 08/04/2009 07:58 AM
Watcher prototype¶
The cache file structure store all the hashes of the shared files. If a file is added or removed from a shared directory (or a subfolder) it should be added or removed from the cache.
As far as I know there is no way to watch changes recursively of a folder tree. The QT class QFileSystemWatcher cannot watch recursively.
The only way to synchronize is to periodically scan all the shared data and compare to the cached one. It can be a bit CPU consumer so it should be done with a low priority thread and maybe with a pause between each file hashing.
Native solution¶
Linux : famd¶
On Linux it exists a file monitor named famd ... maybe it can be a solution for the Linux based platforms.
Windows : FindFirstChangeNotification¶
On Windows a directory and its subtree can be watched, see : http://msdn.microsoft.com/en-us/library/aa365261%28VS.85%29.aspx
There is a simple function called ReadDirectoryChangesW : http://msdn.microsoft.com/en-us/library/aa365465%28VS.85%29.aspx
Updated by Greg Burri over 15 years ago · 7 revisions