diff options
author | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:15:16 +0200 |
---|---|---|
committer | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:15:16 +0200 |
commit | bd6336c629841c6db3a6ca53a936d629d34db53b (patch) | |
tree | 3721ef997864108df175ce677a8a7d4342a6f1d2 /library/dir_lock.h | |
parent | 4.0 (diff) | |
download | FreeFileSync-bd6336c629841c6db3a6ca53a936d629d34db53b.tar.gz FreeFileSync-bd6336c629841c6db3a6ca53a936d629d34db53b.tar.bz2 FreeFileSync-bd6336c629841c6db3a6ca53a936d629d34db53b.zip |
4.1
Diffstat (limited to 'library/dir_lock.h')
-rw-r--r-- | library/dir_lock.h | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/library/dir_lock.h b/library/dir_lock.h deleted file mode 100644 index 8cec9d69..00000000 --- a/library/dir_lock.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef DIR_LOCK_H_INCLUDED -#define DIR_LOCK_H_INCLUDED - -#include "../shared/file_error.h" -#include <memory> - - -struct DirLockCallback //while waiting for the lock -{ - virtual ~DirLockCallback() {} - virtual void requestUiRefresh() = 0; //allowed to throw exceptions - virtual void reportInfo(const std::wstring& text) = 0; -}; - -/* -RAII structure to place a directory lock against other FFS processes: - - recursive locking supported, even with alternate lockfile names, e.g. via symlinks, network mounts etc. - - ownership shared between all object instances refering to a specific lock location(= UUID) - - can be copied safely and efficiently! (ref-counting) - - detects and resolves abandoned locks (instantly if lock is associated with local pc, else after 30 seconds) - - temporary locks created during abandoned lock resolution keep "lockfilename"'s extension - - race-free (Windows, almost on Linux(NFS)) -*/ -class DirLock -{ -public: - DirLock(const Zstring& lockfilename, DirLockCallback* callback = NULL); //throw FileError, callback only used during construction - -private: - class LockAdmin; - class SharedDirLock; - std::shared_ptr<SharedDirLock> sharedLock; -}; - -#endif // DIR_LOCK_H_INCLUDED |