63 lines
1.0 KiB
C++
63 lines
1.0 KiB
C++
#pragma once
|
|
#include "SiaCommon.h"
|
|
#include "SiaCurl.h"
|
|
|
|
NS_BEGIN(Sia)
|
|
NS_BEGIN(Api)
|
|
|
|
class AFX_EXT_CLASS CSiaApi
|
|
{
|
|
public:
|
|
enum class _SiaApiError
|
|
{
|
|
Success,
|
|
NotImplemented,
|
|
WalletLocked,
|
|
WalletUnlocked,
|
|
WalletNotCreated
|
|
};
|
|
|
|
class AFX_EXT_CLASS _CSiaWallet
|
|
{
|
|
friend CSiaApi;
|
|
private:
|
|
_CSiaWallet(CSiaCurl& siaCurl);
|
|
|
|
public:
|
|
~_CSiaWallet();
|
|
|
|
private:
|
|
CSiaCurl& _siaCurl;
|
|
|
|
// Properties
|
|
Property(bool, Created, public, private)
|
|
Property(bool, Locked, public, private)
|
|
|
|
public:
|
|
_SiaApiError Create(String& seed);
|
|
_SiaApiError Restore(const String& seed);
|
|
_SiaApiError Lock();
|
|
_SiaApiError Unlock();
|
|
};
|
|
|
|
public:
|
|
CSiaApi(const SiaHostConfig& hostConfig);
|
|
|
|
public:
|
|
~CSiaApi();
|
|
|
|
private:
|
|
CSiaCurl _siaCurl;
|
|
std::shared_ptr<_CSiaWallet> _wallet;
|
|
|
|
public:
|
|
std::shared_ptr<_CSiaWallet> GetWallet() const;
|
|
String GetServerVersion() const;
|
|
|
|
};
|
|
|
|
typedef CSiaApi::_SiaApiError SiaApiError;
|
|
typedef CSiaApi::_CSiaWallet CSiaWallet;
|
|
typedef std::shared_ptr<CSiaApi::_CSiaWallet> CSiaWalletPtr;
|
|
|
|
NS_END(2) |