1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/SiaDrive.Api/SiaApi.h
Scott E. Graves 352363b25d [Unit Test] Server version mismatch
[Unit Test] Empty required server version
API and curl changes
2017-02-02 23:51:42 -06:00

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 _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)