Refactoring
This commit is contained in:
@@ -35,7 +35,6 @@ private:
|
||||
std::shared_ptr<Api::CSiaDriveConfig> _siaDriveConfig;
|
||||
std::unique_ptr<Api::CAutoThread> _refreshThread;
|
||||
std::unique_ptr<Api::CSiaApi> _siaApi;
|
||||
std::unique_ptr<Api::CSiaCurl> _siaCurl;
|
||||
#ifdef _WIN32
|
||||
std::unique_ptr<Api::Dokan::CSiaDokanDrive> _siaDrive;
|
||||
#else
|
||||
@@ -66,7 +65,7 @@ private:
|
||||
static void ExecuteSetter(CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Value> obj, const SString& method, const SString& value);
|
||||
static void ExecuteSetter(CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Value> obj, const SString& method, CefRefPtr<CefV8Value> value);
|
||||
void ShutdownServices(CefRefPtr<CefBrowser> browser);
|
||||
void SiaApiRefreshCallback(CefRefPtr<CefV8Context> context, const Api::CSiaCurl& siaCurl, Api::CSiaDriveConfig* siaDriveConfig);
|
||||
void SiaApiRefreshCallback(CefRefPtr<CefV8Context> context, Api::CSiaDriveConfig* siaDriveConfig);
|
||||
void ReleaseObjects(CefRefPtr<CefBrowser> browser);
|
||||
|
||||
private:
|
||||
|
@@ -11,28 +11,26 @@ class CSiaCurl;
|
||||
class SIADRIVE_EXPORTABLE CAutoThread
|
||||
{
|
||||
public:
|
||||
CAutoThread(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
CAutoThread(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig, std::function<void(const CSiaCurl&, CSiaDriveConfig*)> autoThreadCallback);
|
||||
CAutoThread(CSiaDriveConfig* siaDriveConfig);
|
||||
CAutoThread(CSiaDriveConfig* siaDriveConfig, std::function<void(CSiaDriveConfig*)> autoThreadCallback);
|
||||
|
||||
public:
|
||||
virtual ~CAutoThread();
|
||||
|
||||
private:
|
||||
bool _stopRequested;
|
||||
std::unique_ptr<CSiaCurl> _siaCurl;
|
||||
CSiaDriveConfig* _siaDriveConfig;
|
||||
std::function<void(const CSiaCurl&, CSiaDriveConfig*)> _AutoThreadCallback;
|
||||
std::function<void(CSiaDriveConfig*)> _AutoThreadCallback;
|
||||
std::unique_ptr<std::thread> _thread;
|
||||
std::mutex _startStopMutex;
|
||||
std::mutex _stopMutex;
|
||||
std::condition_variable _stopEvent;
|
||||
|
||||
protected:
|
||||
virtual void AutoThreadCallback(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
virtual void AutoThreadCallback(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
bool IsRunning() const;
|
||||
SiaHostConfig GetHostConfig() const;
|
||||
void StartAutoThread();
|
||||
void StopAutoThread();
|
||||
};
|
||||
|
@@ -12,8 +12,7 @@ class CSiaDriveConfig;
|
||||
class SIADRIVE_EXPORTABLE CSiaBase
|
||||
{
|
||||
public:
|
||||
explicit CSiaBase(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) :
|
||||
_siaCurl(siaCurl),
|
||||
explicit CSiaBase(CSiaDriveConfig* siaDriveConfig) :
|
||||
_siaDriveConfig(siaDriveConfig)
|
||||
{
|
||||
}
|
||||
@@ -24,15 +23,9 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
const CSiaCurl& _siaCurl;
|
||||
CSiaDriveConfig* _siaDriveConfig;
|
||||
|
||||
protected:
|
||||
inline const CSiaCurl& GetSiaCurl() const
|
||||
{
|
||||
return _siaCurl;
|
||||
}
|
||||
|
||||
public:
|
||||
inline CSiaDriveConfig& GetSiaDriveConfig() const
|
||||
{
|
||||
return *_siaDriveConfig;
|
||||
@@ -70,7 +63,7 @@ public:
|
||||
friend _CSiaFileTree;
|
||||
|
||||
public:
|
||||
explicit _CSiaFile(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig, const json& fileJson);
|
||||
explicit _CSiaFile(CSiaDriveConfig* siaDriveConfig, const json& fileJson);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaFile();
|
||||
@@ -90,7 +83,7 @@ public:
|
||||
{
|
||||
friend CSiaApi;
|
||||
public:
|
||||
explicit _CSiaFileTree(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit _CSiaFileTree(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaFileTree();
|
||||
@@ -112,7 +105,7 @@ public:
|
||||
{
|
||||
friend CSiaApi;
|
||||
private:
|
||||
explicit _CSiaWallet(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit _CSiaWallet(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaWallet();
|
||||
@@ -126,7 +119,7 @@ public:
|
||||
Property(SString, ReceiveAddress, public, private)
|
||||
|
||||
private:
|
||||
virtual void Refresh(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
virtual void Refresh();
|
||||
|
||||
public:
|
||||
CSiaError<_SiaApiErrorCode> Create(const SString& password, const _SiaSeedLanguage& seedLanguage, SString& seed);
|
||||
@@ -151,7 +144,7 @@ public:
|
||||
} _SiaRenterAllowance;
|
||||
|
||||
private:
|
||||
explicit _CSiaRenter(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit _CSiaRenter(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaRenter();
|
||||
@@ -172,7 +165,7 @@ public:
|
||||
SiaCurrency _uploadterabyte;
|
||||
|
||||
private:
|
||||
void Refresh(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
void Refresh();
|
||||
|
||||
public:
|
||||
CSiaError<_SiaApiErrorCode> CalculateEstimatedStorage(const SiaCurrency& funds, SiaCurrency& resultInBytes) const;
|
||||
@@ -194,7 +187,7 @@ public:
|
||||
friend CSiaApi;
|
||||
|
||||
private:
|
||||
explicit _CSiaConsensus(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit _CSiaConsensus(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaConsensus();
|
||||
@@ -205,7 +198,7 @@ public:
|
||||
Property(SString, CurrentBlock, public, private)
|
||||
|
||||
private:
|
||||
void Refresh(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
void Refresh();
|
||||
};
|
||||
|
||||
class SIADRIVE_EXPORTABLE _CSiaHost :
|
||||
@@ -214,7 +207,7 @@ public:
|
||||
friend CSiaApi;
|
||||
|
||||
private:
|
||||
explicit _CSiaHost(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig, const json& hostJson);
|
||||
explicit _CSiaHost(CSiaDriveConfig* siaDriveConfig, const json& hostJson);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaHost();
|
||||
@@ -239,7 +232,7 @@ public:
|
||||
friend CSiaApi;
|
||||
|
||||
private:
|
||||
explicit _CSiaHostDb(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit _CSiaHostDb(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
virtual ~_CSiaHostDb();
|
||||
@@ -248,21 +241,19 @@ public:
|
||||
std::shared_ptr<std::vector<std::shared_ptr<_CSiaHost>>> _activeHosts;
|
||||
|
||||
private:
|
||||
void Refresh(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
void Refresh();
|
||||
|
||||
public:
|
||||
std::shared_ptr<std::vector<std::shared_ptr<_CSiaHost>>> GetActiveHosts() const;
|
||||
};
|
||||
|
||||
public:
|
||||
explicit CSiaApi(const SiaHostConfig& hostConfig, CSiaDriveConfig* siaDriveConfig);
|
||||
explicit CSiaApi(CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
~CSiaApi();
|
||||
|
||||
private:
|
||||
SiaHostConfig _hostConfig;
|
||||
CSiaCurl _siaCurl;
|
||||
CSiaDriveConfig* _siaDriveConfig;
|
||||
std::shared_ptr<_CSiaWallet> _wallet;
|
||||
std::shared_ptr<_CSiaRenter> _renter;
|
||||
@@ -271,7 +262,7 @@ private:
|
||||
std::unique_ptr<CAutoThread> _refreshThread;
|
||||
|
||||
private:
|
||||
void Refresh(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
void Refresh();
|
||||
|
||||
public:
|
||||
static SString FormatToSiaPath(SString path);
|
||||
@@ -284,7 +275,6 @@ public:
|
||||
std::shared_ptr<_CSiaConsensus> GetConsensus() const;
|
||||
std::shared_ptr<_CSiaHostDb> GetHostDb() const;
|
||||
SString GetServerVersion() const;
|
||||
SiaHostConfig GetHostConfig() const;
|
||||
};
|
||||
|
||||
typedef CSiaApi::_SiaApiErrorCode SiaApiErrorCode;
|
||||
|
@@ -49,7 +49,10 @@ private:
|
||||
|
||||
void Save() const;
|
||||
|
||||
|
||||
public:
|
||||
SiaHostConfig GetHostConfig() const;
|
||||
|
||||
SString ToString() const;
|
||||
};
|
||||
|
||||
|
@@ -20,6 +20,7 @@ public:
|
||||
enum class _UploadStatus : unsigned
|
||||
{
|
||||
NotFound,
|
||||
Remove,
|
||||
Queued,
|
||||
Uploading,
|
||||
Complete
|
||||
@@ -43,25 +44,26 @@ private:
|
||||
} UploadData;
|
||||
|
||||
public:
|
||||
CUploadManager(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
CUploadManager(CSiaDriveConfig* siaDriveConfig, const CSiaApi& siaApi);
|
||||
|
||||
public:
|
||||
virtual ~CUploadManager();
|
||||
|
||||
private:
|
||||
CSiaDriveConfig* _siaDriveConfig;
|
||||
const CSiaApi& _siaApi;
|
||||
SQLite::Database _uploadDatabase;
|
||||
std::mutex _uploadMutex;
|
||||
std::shared_ptr<std::vector<CSiaFilePtr>> _uploadFileList;
|
||||
|
||||
private:
|
||||
void DeleteFilesNotFound(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
|
||||
void DeleteFilesRemovedFromSia(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig, const bool& isStartup = false);
|
||||
CSiaDriveConfig* GetSiaDriveConfig() const { return _siaDriveConfig; }
|
||||
void HandleFileRemove(const CSiaCurl& siaCurl, const SString& siaPath);
|
||||
void DeleteFilesNotFound(CSiaDriveConfig* siaDriveConfig);
|
||||
void DeleteFilesRemovedFromSia(CSiaDriveConfig* siaDriveConfig, const bool& isStartup = false);
|
||||
CSiaDriveConfig& GetSiaDriveConfig() const { return *_siaDriveConfig; }
|
||||
void HandleFileRemove(const SString& siaPath);
|
||||
|
||||
protected:
|
||||
virtual void AutoThreadCallback(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) override;
|
||||
virtual void AutoThreadCallback(CSiaDriveConfig* siaDriveConfig) override;
|
||||
|
||||
public:
|
||||
static SString UploadStatusToString(const _UploadStatus& uploadStatus);
|
||||
|
@@ -37,13 +37,13 @@ class SIADRIVE_DOKAN_EXPORTABLE CSiaDokanDrive
|
||||
{
|
||||
public:
|
||||
// throws SiaDokenDriveException
|
||||
CSiaDokanDrive(CSiaApi& siaApi, CSiaDriveConfig* siaDriveConfig);
|
||||
CSiaDokanDrive(CSiaApi* siaApi, CSiaDriveConfig* siaDriveConfig);
|
||||
|
||||
public:
|
||||
~CSiaDokanDrive();
|
||||
|
||||
private:
|
||||
CSiaApi& _siaApi;
|
||||
CSiaApi* _siaApi;
|
||||
CSiaDriveConfig* _siaDriveConfig;
|
||||
std::mutex _startStopMutex;
|
||||
|
||||
|
Reference in New Issue
Block a user