1
0

Refactoring

This commit is contained in:
Scott E. Graves
2017-04-07 18:54:47 -05:00
parent 1be6315542
commit 0975ed41d6
2 changed files with 6 additions and 13 deletions

View File

@@ -43,8 +43,8 @@ public:
private: private:
CSiaApi& _siaApi; CSiaApi& _siaApi;
CSiaDriveConfig* _siaDriveConfig; CSiaDriveConfig* _siaDriveConfig;
std::mutex _startStopMutex;
public: public:
bool IsMounted() const; bool IsMounted() const;

View File

@@ -174,7 +174,6 @@ private:
}; };
private: private:
static std::mutex _dokanMutex;
static CSiaApi* _siaApi; static CSiaApi* _siaApi;
static CSiaDriveConfig* _siaDriveConfig; static CSiaDriveConfig* _siaDriveConfig;
static std::unique_ptr<CUploadManager> _uploadManager; static std::unique_ptr<CUploadManager> _uploadManager;
@@ -1618,11 +1617,6 @@ public:
ZeroMemory(&_dokanOptions, sizeof(_dokanOptions)); ZeroMemory(&_dokanOptions, sizeof(_dokanOptions));
} }
static std::mutex& GetMutex()
{
return _dokanMutex;
}
static bool IsMounted() static bool IsMounted()
{ {
return (_mountThread != nullptr); return (_mountThread != nullptr);
@@ -1634,7 +1628,6 @@ public:
} }
}; };
// Static member variables // Static member variables
std::mutex DokanImpl::_dokanMutex;
CSiaApi* DokanImpl::_siaApi = nullptr; CSiaApi* DokanImpl::_siaApi = nullptr;
CSiaDriveConfig* DokanImpl::_siaDriveConfig = nullptr; CSiaDriveConfig* DokanImpl::_siaDriveConfig = nullptr;
std::unique_ptr<CUploadManager> DokanImpl::_uploadManager; std::unique_ptr<CUploadManager> DokanImpl::_uploadManager;
@@ -1654,7 +1647,7 @@ CSiaDokanDrive::CSiaDokanDrive(CSiaApi& siaApi, CSiaDriveConfig* siaDriveConfig)
_siaApi(siaApi), _siaApi(siaApi),
_siaDriveConfig(siaDriveConfig) _siaDriveConfig(siaDriveConfig)
{ {
std::lock_guard<std::mutex> l(DokanImpl::GetMutex()); std::lock_guard<std::mutex> l(_startStopMutex);
if (DokanImpl::IsInitialized()) if (DokanImpl::IsInitialized())
throw SiaDokanDriveException("Sia drive has already been activated"); throw SiaDokanDriveException("Sia drive has already been activated");
@@ -1663,7 +1656,7 @@ CSiaDokanDrive::CSiaDokanDrive(CSiaApi& siaApi, CSiaDriveConfig* siaDriveConfig)
CSiaDokanDrive::~CSiaDokanDrive() CSiaDokanDrive::~CSiaDokanDrive()
{ {
std::lock_guard<std::mutex> l(DokanImpl::GetMutex()); std::lock_guard<std::mutex> l(_startStopMutex);
DokanImpl::Shutdown(); DokanImpl::Shutdown();
} }
@@ -1674,17 +1667,17 @@ bool CSiaDokanDrive::IsMounted() const
void CSiaDokanDrive::Mount(const wchar_t& driveLetter, const SString& cacheLocation, const std::uint64_t& maxCacheSizeBytes) void CSiaDokanDrive::Mount(const wchar_t& driveLetter, const SString& cacheLocation, const std::uint64_t& maxCacheSizeBytes)
{ {
std::lock_guard<std::mutex> l(DokanImpl::GetMutex()); std::lock_guard<std::mutex> l(_startStopMutex);
DokanImpl::Mount(driveLetter, cacheLocation); DokanImpl::Mount(driveLetter, cacheLocation);
} }
void CSiaDokanDrive::Unmount(const bool& clearCache) void CSiaDokanDrive::Unmount(const bool& clearCache)
{ {
std::lock_guard<std::mutex> l(DokanImpl::GetMutex()); std::lock_guard<std::mutex> l(_startStopMutex);
DokanImpl::Unmount(); DokanImpl::Unmount();
} }
void CSiaDokanDrive::ClearCache() void CSiaDokanDrive::ClearCache()
{ {
std::lock_guard<std::mutex> l(DokanImpl::GetMutex()); std::lock_guard<std::mutex> l(_startStopMutex);
} }