Refactoring
This commit is contained in:
@@ -1,10 +1,36 @@
|
||||
#pragma once
|
||||
#include "SiaCommon.h"
|
||||
#include "SiaCurl.h"
|
||||
#include "AutoThread.h"
|
||||
|
||||
NS_BEGIN(Sia)
|
||||
NS_BEGIN(Api)
|
||||
|
||||
|
||||
class AFX_EXT_CLASS CSiaBase
|
||||
{
|
||||
public:
|
||||
explicit CSiaBase(const CSiaCurl& siaCurl) :
|
||||
_siaCurl(siaCurl)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~CSiaBase() = 0
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
const CSiaCurl& _siaCurl;
|
||||
|
||||
protected:
|
||||
inline const CSiaCurl& GetSiaCurl() const
|
||||
{
|
||||
return _siaCurl;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class AFX_EXT_CLASS CSiaApi
|
||||
{
|
||||
public:
|
||||
@@ -27,19 +53,17 @@ public:
|
||||
};
|
||||
|
||||
class _CSiaFileTree;
|
||||
class AFX_EXT_CLASS _CSiaFile
|
||||
class AFX_EXT_CLASS _CSiaFile :
|
||||
public virtual CSiaBase
|
||||
{
|
||||
friend CSiaApi;
|
||||
friend _CSiaFileTree;
|
||||
|
||||
private:
|
||||
_CSiaFile(CSiaCurl& siaCurl, const json& fileJson);
|
||||
explicit _CSiaFile(const CSiaCurl& siaCurl, const json& fileJson);
|
||||
|
||||
public:
|
||||
~_CSiaFile();
|
||||
|
||||
private:
|
||||
CSiaCurl& _siaCurl;
|
||||
virtual ~_CSiaFile();
|
||||
|
||||
// Properties
|
||||
Property(String, SiaPath, public, private)
|
||||
@@ -51,17 +75,15 @@ public:
|
||||
Property(std::uint32_t, Expiration, public, private)
|
||||
};
|
||||
|
||||
class AFX_EXT_CLASS _CSiaFileTree
|
||||
class AFX_EXT_CLASS _CSiaFileTree :
|
||||
public virtual CSiaBase
|
||||
{
|
||||
friend CSiaApi;
|
||||
public:
|
||||
_CSiaFileTree(CSiaCurl& siaCurl);
|
||||
explicit _CSiaFileTree(const CSiaCurl& siaCurl);
|
||||
|
||||
public:
|
||||
~_CSiaFileTree();
|
||||
|
||||
private:
|
||||
CSiaCurl& _siaCurl;
|
||||
virtual ~_CSiaFileTree();
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<_CSiaFile>> _fileList;
|
||||
@@ -78,17 +100,15 @@ public:
|
||||
bool FileExists(const String& siaPath) const;
|
||||
};
|
||||
|
||||
class AFX_EXT_CLASS _CSiaWallet
|
||||
class AFX_EXT_CLASS _CSiaWallet :
|
||||
public virtual CSiaBase
|
||||
{
|
||||
friend CSiaApi;
|
||||
private:
|
||||
_CSiaWallet(CSiaCurl& siaCurl);
|
||||
explicit _CSiaWallet(const CSiaCurl& siaCurl);
|
||||
|
||||
public:
|
||||
~_CSiaWallet();
|
||||
|
||||
private:
|
||||
CSiaCurl& _siaCurl;
|
||||
virtual ~_CSiaWallet();
|
||||
|
||||
// Properties
|
||||
Property(bool, Created, public, private)
|
||||
@@ -105,18 +125,21 @@ public:
|
||||
_SiaApiError GetAddress(String& address) const;
|
||||
};
|
||||
|
||||
class AFX_EXT_CLASS _CSiaRenter
|
||||
class AFX_EXT_CLASS _CSiaRenter :
|
||||
public virtual CSiaBase,
|
||||
public virtual CAutoThread
|
||||
{
|
||||
friend CSiaApi;
|
||||
|
||||
private:
|
||||
_CSiaRenter(CSiaCurl& siaCurl);
|
||||
explicit _CSiaRenter(const CSiaCurl& siaCurl);
|
||||
|
||||
public:
|
||||
~_CSiaRenter();
|
||||
|
||||
private:
|
||||
CSiaCurl& _siaCurl;
|
||||
virtual ~_CSiaRenter();
|
||||
|
||||
protected:
|
||||
virtual void AutoThreadCallback(const CSiaCurl& siaCurl) override;
|
||||
|
||||
public:
|
||||
_SiaApiError FileExists(const String& siaPath, bool& exists) const;
|
||||
_SiaApiError DeleteFile(const String& siaPath);
|
||||
@@ -125,34 +148,29 @@ public:
|
||||
_SiaApiError GetFileTree(std::shared_ptr<_CSiaFileTree>& siaFileTree) const;
|
||||
};
|
||||
|
||||
class AFX_EXT_CLASS _CSiaConsensus
|
||||
class AFX_EXT_CLASS _CSiaConsensus :
|
||||
public virtual CSiaBase,
|
||||
public virtual CAutoThread
|
||||
{
|
||||
friend CSiaApi;
|
||||
|
||||
private:
|
||||
_CSiaConsensus(CSiaCurl& siaCurl);
|
||||
explicit _CSiaConsensus(const CSiaCurl& siaCurl);
|
||||
|
||||
public:
|
||||
~_CSiaConsensus();
|
||||
|
||||
private:
|
||||
CSiaCurl _siaCurl;
|
||||
|
||||
private:
|
||||
HANDLE _stopEvent;
|
||||
std::unique_ptr<std::thread> _refreshThread;
|
||||
virtual ~_CSiaConsensus();
|
||||
|
||||
// Properties
|
||||
Property(std::uint64_t, Height, public, private)
|
||||
Property(bool, Synced, public, private)
|
||||
Property(String, CurrentBlock, public, private)
|
||||
|
||||
private:
|
||||
void StartRefreshThread();
|
||||
void StopRefreshThread();
|
||||
protected:
|
||||
virtual void AutoThreadCallback(const CSiaCurl& siaCurl) override;
|
||||
};
|
||||
|
||||
public:
|
||||
CSiaApi(const SiaHostConfig& hostConfig);
|
||||
explicit CSiaApi(const SiaHostConfig& hostConfig);
|
||||
|
||||
public:
|
||||
~CSiaApi();
|
||||
|
Reference in New Issue
Block a user