1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SOULNG_UTIL_FILE_LOCKING_INCLUDED
 7 #define SOULNG_UTIL_FILE_LOCKING_INCLUDED
 8 #include <soulng/util/UtilApi.hpp>
 9 #include <string>
10 
11 namespace soulng { namespace util {
12 
13 enum class LockKind : int 
14 {
15     read=  0write=  1
16 };
17 
18 void LockFile(const std::string& filePathLockKind lockKind);
19 void UnlockFile(const std::string& filePathLockKind lockKind);
20 void InitFileLocking();
21 void DoneFileLocking();
22 
23 } } // namespace soulng::util
24 
25 #endif // SOULNG_UTIL_FILE_LOCKING_INCLUDED