1
0

Pass config to api members

This commit is contained in:
Scott E. Graves
2017-02-19 14:28:58 -06:00
parent 9a0d323596
commit 9d74953782
10 changed files with 50 additions and 36 deletions

View File

@@ -7,11 +7,13 @@ NS_BEGIN(Sia)
NS_BEGIN(Api)
class CSiaDriveConfig;
class AFX_EXT_CLASS CSiaBase
{
public:
explicit CSiaBase(const CSiaCurl& siaCurl) :
_siaCurl(siaCurl)
explicit CSiaBase(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) :
_siaCurl(siaCurl),
_siaDriveConfig(siaDriveConfig)
{
}
@@ -22,12 +24,18 @@ public:
private:
const CSiaCurl& _siaCurl;
CSiaDriveConfig* _siaDriveConfig;
protected:
inline const CSiaCurl& GetSiaCurl() const
{
return _siaCurl;
}
inline CSiaDriveConfig& GetSiaDriveConfig() const
{
return *_siaDriveConfig;
}
};
@@ -60,7 +68,7 @@ public:
friend _CSiaFileTree;
private:
explicit _CSiaFile(const CSiaCurl& siaCurl, const json& fileJson);
explicit _CSiaFile(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig, const json& fileJson);
public:
virtual ~_CSiaFile();
@@ -80,7 +88,7 @@ public:
{
friend CSiaApi;
public:
explicit _CSiaFileTree(const CSiaCurl& siaCurl);
explicit _CSiaFileTree(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
public:
virtual ~_CSiaFileTree();
@@ -105,7 +113,7 @@ public:
{
friend CSiaApi;
private:
explicit _CSiaWallet(const CSiaCurl& siaCurl);
explicit _CSiaWallet(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
public:
virtual ~_CSiaWallet();
@@ -132,7 +140,7 @@ public:
friend CSiaApi;
private:
explicit _CSiaRenter(const CSiaCurl& siaCurl);
explicit _CSiaRenter(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
public:
virtual ~_CSiaRenter();
@@ -144,7 +152,7 @@ public:
Property(std::uint32_t, TotalUploadProgress, public, private)
protected:
virtual void AutoThreadCallback(const CSiaCurl& siaCurl) override;
virtual void AutoThreadCallback(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) override;
public:
_SiaApiError FileExists(const String& siaPath, bool& exists) const;
@@ -161,7 +169,7 @@ public:
friend CSiaApi;
private:
explicit _CSiaConsensus(const CSiaCurl& siaCurl);
explicit _CSiaConsensus(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig);
public:
virtual ~_CSiaConsensus();
@@ -172,17 +180,18 @@ public:
Property(String, CurrentBlock, public, private)
protected:
virtual void AutoThreadCallback(const CSiaCurl& siaCurl) override;
virtual void AutoThreadCallback(const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) override;
};
public:
explicit CSiaApi(const SiaHostConfig& hostConfig);
explicit CSiaApi(const SiaHostConfig& hostConfig, CSiaDriveConfig* siaDriveConfig);
public:
~CSiaApi();
private:
CSiaCurl _siaCurl;
CSiaDriveConfig* _siaDriveConfig;
std::shared_ptr<_CSiaWallet> _wallet;
std::shared_ptr<_CSiaRenter> _renter;
std::shared_ptr<_CSiaConsensus> _consensus;