diff options
Diffstat (limited to 'libbridge')
| -rw-r--r-- | libbridge/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | libbridge/src/main/cpp/wallet2_api_c.h | 549 |
2 files changed, 289 insertions, 282 deletions
diff --git a/libbridge/CMakeLists.txt b/libbridge/CMakeLists.txt index a227c49..3d87455 100644 --- a/libbridge/CMakeLists.txt +++ b/libbridge/CMakeLists.txt @@ -4,6 +4,18 @@ message(STATUS ABI_INFO = ${HOST_ABI}) set (CMAKE_CXX_STANDARD 11) +if(${HOST_ABI} STREQUAL "x86_64-w64-mingw32") + set(CMAKE_SYSTEM_NAME Windows) + set(CMAKE_LINKER "x86_64-w64-mingw32-ld") + set(TARGET "x86_64-w64-mingw32") + # set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +elseif(${HOST_ABI} STREQUAL "i686-w64-mingw32") + set(CMAKE_SYSTEM_NAME Windows) + set(CMAKE_LINKER "i686-w64-mingw32-ld") + set(TARGET "i686-w64-mingw32") + # set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + add_library( wallet2_api_c SHARED src/main/cpp/helpers.cpp @@ -48,16 +60,6 @@ else() set(BOOST_WTF_PART "") endif() -if(${HOST_ABI} STREQUAL "x86_64-w64-mingw32") - set(CMAKE_SYSTEM_NAME Windows) - set(CMAKE_LINKER "x86_64-w64-mingw32-ld") - set(TARGET "x86_64-w64-mingw32") -elseif(${HOST_ABI} STREQUAL "i686-w64-mingw32") - set(CMAKE_SYSTEM_NAME Windows) - set(CMAKE_LINKER "i686-w64-mingw32-ld") - set(TARGET "i686-w64-mingw32") -endif() - add_library(boost_chrono STATIC IMPORTED) set_target_properties(boost_chrono PROPERTIES IMPORTED_LOCATION diff --git a/libbridge/src/main/cpp/wallet2_api_c.h b/libbridge/src/main/cpp/wallet2_api_c.h index a600be7..22fd8d5 100644 --- a/libbridge/src/main/cpp/wallet2_api_c.h +++ b/libbridge/src/main/cpp/wallet2_api_c.h @@ -16,6 +16,11 @@ extern "C" { #endif +#ifdef __MINGW32__ + #define ADDAPI __declspec(dllexport) +#else + #define ADDAPI +#endif // namespace Monero { // enum NetworkType : uint8_t { @@ -67,31 +72,31 @@ const int Priority_Last = 4; // }; // virtual ~PendingTransaction() = 0; // virtual int status() const = 0; -int MONERO_PendingTransaction_status(void* pendingTx_ptr); +extern ADDAPI int MONERO_PendingTransaction_status(void* pendingTx_ptr); // virtual std::string errorString() const = 0; -const char* MONERO_PendingTransaction_errorString(void* pendingTx_ptr); +extern ADDAPI const char* MONERO_PendingTransaction_errorString(void* pendingTx_ptr); // virtual bool commit(const std::string &filename = "", bool overwrite = false) = 0; -bool MONERO_PendingTransaction_commit(void* pendingTx_ptr, const char* filename, bool overwrite); +extern ADDAPI bool MONERO_PendingTransaction_commit(void* pendingTx_ptr, const char* filename, bool overwrite); // virtual uint64_t amount() const = 0; -uint64_t MONERO_PendingTransaction_amount(void* pendingTx_ptr); +extern ADDAPI uint64_t MONERO_PendingTransaction_amount(void* pendingTx_ptr); // virtual uint64_t dust() const = 0; -uint64_t MONERO_PendingTransaction_dust(void* pendingTx_ptr); +extern ADDAPI uint64_t MONERO_PendingTransaction_dust(void* pendingTx_ptr); // virtual uint64_t fee() const = 0; -uint64_t MONERO_PendingTransaction_fee(void* pendingTx_ptr); +extern ADDAPI uint64_t MONERO_PendingTransaction_fee(void* pendingTx_ptr); // virtual std::vector<std::string> txid() const = 0; -const char* MONERO_PendingTransaction_txid(void* pendingTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_PendingTransaction_txid(void* pendingTx_ptr, const char* separator); // virtual uint64_t txCount() const = 0; -uint64_t MONERO_PendingTransaction_txCount(void* pendingTx_ptr); +extern ADDAPI uint64_t MONERO_PendingTransaction_txCount(void* pendingTx_ptr); // virtual std::vector<uint32_t> subaddrAccount() const = 0; -const char* MONERO_PendingTransaction_subaddrAccount(void* pendingTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_PendingTransaction_subaddrAccount(void* pendingTx_ptr, const char* separator); // virtual std::vector<std::set<uint32_t>> subaddrIndices() const = 0; -const char* MONERO_PendingTransaction_subaddrIndices(void* pendingTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_PendingTransaction_subaddrIndices(void* pendingTx_ptr, const char* separator); // virtual std::string multisigSignData() = 0; -const char* MONERO_PendingTransaction_multisigSignData(void* pendingTx_ptr); +extern ADDAPI const char* MONERO_PendingTransaction_multisigSignData(void* pendingTx_ptr); // virtual void signMultisigTx() = 0; -void MONERO_PendingTransaction_signMultisigTx(void* pendingTx_ptr); +extern ADDAPI void MONERO_PendingTransaction_signMultisigTx(void* pendingTx_ptr); // virtual std::vector<std::string> signersKeys() const = 0; -const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const char* separator); // }; // struct UnsignedTransaction @@ -106,27 +111,27 @@ const int UnsignedTransactionStatus_Critical = 2; // }; // virtual ~UnsignedTransaction() = 0; // virtual int status() const = 0; -int MONERO_UnsignedTransaction_status(void* unsignedTx_ptr); +extern ADDAPI int MONERO_UnsignedTransaction_status(void* unsignedTx_ptr); // virtual std::string errorString() const = 0; -const char* MONERO_UnsignedTransaction_errorString(void* unsignedTx_ptr); +extern ADDAPI const char* MONERO_UnsignedTransaction_errorString(void* unsignedTx_ptr); // virtual std::vector<uint64_t> amount() const = 0; -const char* MONERO_UnsignedTransaction_amount(void* unsignedTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_UnsignedTransaction_amount(void* unsignedTx_ptr, const char* separator); // virtual std::vector<uint64_t> fee() const = 0; -const char* MONERO_UnsignedTransaction_fee(void* unsignedTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_UnsignedTransaction_fee(void* unsignedTx_ptr, const char* separator); // virtual std::vector<uint64_t> mixin() const = 0; -const char* MONERO_UnsignedTransaction_mixin(void* unsignedTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_UnsignedTransaction_mixin(void* unsignedTx_ptr, const char* separator); // virtual std::string confirmationMessage() const = 0; -const char* MONERO_UnsignedTransaction_confirmationMessage(void* unsignedTx_ptr); +extern ADDAPI const char* MONERO_UnsignedTransaction_confirmationMessage(void* unsignedTx_ptr); // virtual std::vector<std::string> paymentId() const = 0; -const char* MONERO_UnsignedTransaction_paymentId(void* unsignedTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_UnsignedTransaction_paymentId(void* unsignedTx_ptr, const char* separator); // virtual std::vector<std::string> recipientAddress() const = 0; -const char* MONERO_UnsignedTransaction_recipientAddress(void* unsignedTx_ptr, const char* separator); +extern ADDAPI const char* MONERO_UnsignedTransaction_recipientAddress(void* unsignedTx_ptr, const char* separator); // virtual uint64_t minMixinCount() const = 0; -uint64_t MONERO_UnsignedTransaction_minMixinCount(void* unsignedTx_ptr); +extern ADDAPI uint64_t MONERO_UnsignedTransaction_minMixinCount(void* unsignedTx_ptr); // virtual uint64_t txCount() const = 0; -uint64_t MONERO_UnsignedTransaction_txCount(void* unsignedTx_ptr); +extern ADDAPI uint64_t MONERO_UnsignedTransaction_txCount(void* unsignedTx_ptr); // virtual bool sign(const std::string &signedFileName) = 0; -bool MONERO_UnsignedTransaction_sign(void* unsignedTx_ptr, const char* signedFileName); +extern ADDAPI bool MONERO_UnsignedTransaction_sign(void* unsignedTx_ptr, const char* signedFileName); // }; // struct TransactionInfo // { @@ -143,56 +148,56 @@ const int TransactionInfoDirection_Out = 1; // }; // virtual ~TransactionInfo() = 0; // virtual int direction() const = 0; -int MONERO_TransactionInfo_direction(void* txInfo_ptr); +extern ADDAPI int MONERO_TransactionInfo_direction(void* txInfo_ptr); // virtual bool isPending() const = 0; -bool MONERO_TransactionInfo_isPending(void* txInfo_ptr); +extern ADDAPI bool MONERO_TransactionInfo_isPending(void* txInfo_ptr); // virtual bool isFailed() const = 0; -bool MONERO_TransactionInfo_isFailed(void* txInfo_ptr); +extern ADDAPI bool MONERO_TransactionInfo_isFailed(void* txInfo_ptr); // virtual bool isCoinbase() const = 0; -bool MONERO_TransactionInfo_isCoinbase(void* txInfo_ptr); +extern ADDAPI bool MONERO_TransactionInfo_isCoinbase(void* txInfo_ptr); // virtual uint64_t amount() const = 0; -uint64_t MONERO_TransactionInfo_amount(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_amount(void* txInfo_ptr); // virtual uint64_t fee() const = 0; -uint64_t MONERO_TransactionInfo_fee(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_fee(void* txInfo_ptr); // virtual uint64_t blockHeight() const = 0; -uint64_t MONERO_TransactionInfo_blockHeight(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_blockHeight(void* txInfo_ptr); // virtual std::string description() const = 0; -const char* MONERO_TransactionInfo_description(void* txInfo_ptr); +extern ADDAPI const char* MONERO_TransactionInfo_description(void* txInfo_ptr); // virtual std::set<uint32_t> subaddrIndex() const = 0; -const char* MONERO_TransactionInfo_subaddrIndex(void* txInfo_ptr, const char* separator); +extern ADDAPI const char* MONERO_TransactionInfo_subaddrIndex(void* txInfo_ptr, const char* separator); // virtual uint32_t subaddrAccount() const = 0; -uint32_t MONERO_TransactionInfo_subaddrAccount(void* txInfo_ptr); +extern ADDAPI uint32_t MONERO_TransactionInfo_subaddrAccount(void* txInfo_ptr); // virtual std::string label() const = 0; -const char* MONERO_TransactionInfo_label(void* txInfo_ptr); +extern ADDAPI const char* MONERO_TransactionInfo_label(void* txInfo_ptr); // virtual uint64_t confirmations() const = 0; -uint64_t MONERO_TransactionInfo_confirmations(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_confirmations(void* txInfo_ptr); // virtual uint64_t unlockTime() const = 0; -uint64_t MONERO_TransactionInfo_unlockTime(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_unlockTime(void* txInfo_ptr); // virtual std::string hash() const = 0; -const char* MONERO_TransactionInfo_hash(void* txInfo_ptr); +extern ADDAPI const char* MONERO_TransactionInfo_hash(void* txInfo_ptr); // virtual std::time_t timestamp() const = 0; -uint64_t MONERO_TransactionInfo_timestamp(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_timestamp(void* txInfo_ptr); // virtual std::string paymentId() const = 0; -const char* MONERO_TransactionInfo_paymentId(void* txInfo_ptr); +extern ADDAPI const char* MONERO_TransactionInfo_paymentId(void* txInfo_ptr); // virtual const std::vector<Transfer> & transfers() const = 0; -int MONERO_TransactionInfo_transfers_count(void* txInfo_ptr); -uint64_t MONERO_TransactionInfo_transfers_amount(void* txInfo_ptr, int index); -const char* MONERO_TransactionInfo_transfers_address(void* txInfo_ptr, int address); +extern ADDAPI int MONERO_TransactionInfo_transfers_count(void* txInfo_ptr); +extern ADDAPI uint64_t MONERO_TransactionInfo_transfers_amount(void* txInfo_ptr, int index); +extern ADDAPI const char* MONERO_TransactionInfo_transfers_address(void* txInfo_ptr, int address); // }; // struct TransactionHistory // { // virtual ~TransactionHistory() = 0; // virtual int count() const = 0; -int MONERO_TransactionHistory_count(void* txHistory_ptr); +extern ADDAPI int MONERO_TransactionHistory_count(void* txHistory_ptr); // virtual TransactionInfo * transaction(int index) const = 0; -void* MONERO_TransactionHistory_transaction(void* txHistory_ptr, int index); +extern ADDAPI void* MONERO_TransactionHistory_transaction(void* txHistory_ptr, int index); // virtual TransactionInfo * transaction(const std::string &id) const = 0; -void* MONERO_TransactionHistory_transactionById(void* txHistory_ptr, const char* id); +extern ADDAPI void* MONERO_TransactionHistory_transactionById(void* txHistory_ptr, const char* id); // virtual std::vector<TransactionInfo*> getAll() const = 0; // virtual void refresh() = 0; -void MONERO_TransactionHistory_refresh(void* txHistory_ptr); +extern ADDAPI void MONERO_TransactionHistory_refresh(void* txHistory_ptr); // virtual void setTxNote(const std::string &txid, const std::string ¬e) = 0; -void MONERO_TransactionHistory_setTxNote(void* txHistory_ptr, const char* txid, const char* note); +extern ADDAPI void MONERO_TransactionHistory_setTxNote(void* txHistory_ptr, const char* txid, const char* note); // }; // struct AddressBookRow { // public: @@ -209,15 +214,15 @@ void MONERO_TransactionHistory_setTxNote(void* txHistory_ptr, const char* txid, // std::string m_description; // public: // std::string extra; -const char* MONERO_AddressBookRow_extra(void* addressBookRow_ptr); +extern ADDAPI const char* MONERO_AddressBookRow_extra(void* addressBookRow_ptr); // std::string getAddress() const {return m_address;} -const char* MONERO_AddressBookRow_getAddress(void* addressBookRow_ptr); +extern ADDAPI const char* MONERO_AddressBookRow_getAddress(void* addressBookRow_ptr); // std::string getDescription() const {return m_description;} -const char* MONERO_AddressBookRow_getDescription(void* addressBookRow_ptr); +extern ADDAPI const char* MONERO_AddressBookRow_getDescription(void* addressBookRow_ptr); // std::string getPaymentId() const {return m_paymentId;} -const char* MONERO_AddressBookRow_getPaymentId(void* addressBookRow_ptr); +extern ADDAPI const char* MONERO_AddressBookRow_getPaymentId(void* addressBookRow_ptr); // std::size_t getRowId() const {return m_rowId;} -size_t MONERO_AddressBookRow_getRowId(void* addressBookRow_ptr); +extern ADDAPI size_t MONERO_AddressBookRow_getRowId(void* addressBookRow_ptr); // }; // struct AddressBook // { @@ -233,93 +238,93 @@ const int AddressBookErrorCodeInvalidPaymentId = 3; // }; // virtual ~AddressBook() = 0; // virtual std::vector<AddressBookRow*> getAll() const = 0; -int MONERO_AddressBook_getAll_size(void* addressBook_ptr); -void* MONERO_AddressBook_getAll_byIndex(void* addressBook_ptr, int index); +extern ADDAPI int MONERO_AddressBook_getAll_size(void* addressBook_ptr); +extern ADDAPI void* MONERO_AddressBook_getAll_byIndex(void* addressBook_ptr, int index); // virtual bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) = 0; -bool MONERO_AddressBook_addRow(void* addressBook_ptr, const char* dst_addr , const char* payment_id, const char* description); +extern ADDAPI bool MONERO_AddressBook_addRow(void* addressBook_ptr, const char* dst_addr , const char* payment_id, const char* description); // virtual bool deleteRow(std::size_t rowId) = 0; -bool MONERO_AddressBook_deleteRow(void* addressBook_ptr, size_t rowId); +extern ADDAPI bool MONERO_AddressBook_deleteRow(void* addressBook_ptr, size_t rowId); // virtual bool setDescription(std::size_t index, const std::string &description) = 0; -bool MONERO_AddressBook_setDescription(void* addressBook_ptr, size_t rowId, const char* description); +extern ADDAPI bool MONERO_AddressBook_setDescription(void* addressBook_ptr, size_t rowId, const char* description); // virtual void refresh() = 0; -void MONERO_AddressBook_refresh(void* addressBook_ptr); +extern ADDAPI void MONERO_AddressBook_refresh(void* addressBook_ptr); // virtual std::string errorString() const = 0; -const char* MONERO_AddressBook_errorString(void* addressBook_ptr); +extern ADDAPI const char* MONERO_AddressBook_errorString(void* addressBook_ptr); // virtual int errorCode() const = 0; -int MONERO_AddressBook_errorCode(void* addressBook_ptr); +extern ADDAPI int MONERO_AddressBook_errorCode(void* addressBook_ptr); // virtual int lookupPaymentID(const std::string &payment_id) const = 0; -int MONERO_AddressBook_lookupPaymentID(void* addressBook_ptr, const char* payment_id); +extern ADDAPI int MONERO_AddressBook_lookupPaymentID(void* addressBook_ptr, const char* payment_id); // }; // struct CoinsInfo // { // virtual ~CoinsInfo() = 0; // virtual uint64_t blockHeight() const = 0; -uint64_t MONERO_CoinsInfo_blockHeight(void* coinsInfo_ptr); +extern ADDAPI uint64_t MONERO_CoinsInfo_blockHeight(void* coinsInfo_ptr); // virtual std::string hash() const = 0; -const char* MONERO_CoinsInfo_hash(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_hash(void* coinsInfo_ptr); // virtual size_t internalOutputIndex() const = 0; -size_t MONERO_CoinsInfo_internalOutputIndex(void* coinsInfo_ptr); +extern ADDAPI size_t MONERO_CoinsInfo_internalOutputIndex(void* coinsInfo_ptr); // virtual uint64_t globalOutputIndex() const = 0; -uint64_t MONERO_CoinsInfo_globalOutputIndex(void* coinsInfo_ptr); +extern ADDAPI uint64_t MONERO_CoinsInfo_globalOutputIndex(void* coinsInfo_ptr); // virtual bool spent() const = 0; -bool MONERO_CoinsInfo_spent(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_spent(void* coinsInfo_ptr); // virtual bool frozen() const = 0; -bool MONERO_CoinsInfo_frozen(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_frozen(void* coinsInfo_ptr); // virtual uint64_t spentHeight() const = 0; -uint64_t MONERO_CoinsInfo_spentHeight(void* coinsInfo_ptr); +extern ADDAPI uint64_t MONERO_CoinsInfo_spentHeight(void* coinsInfo_ptr); // virtual uint64_t amount() const = 0; -uint64_t MONERO_CoinsInfo_amount(void* coinsInfo_ptr); +extern ADDAPI uint64_t MONERO_CoinsInfo_amount(void* coinsInfo_ptr); // virtual bool rct() const = 0; -bool MONERO_CoinsInfo_rct(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_rct(void* coinsInfo_ptr); // virtual bool keyImageKnown() const = 0; -bool MONERO_CoinsInfo_keyImageKnown(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_keyImageKnown(void* coinsInfo_ptr); // virtual size_t pkIndex() const = 0; -size_t MONERO_CoinsInfo_pkIndex(void* coinsInfo_ptr); +extern ADDAPI size_t MONERO_CoinsInfo_pkIndex(void* coinsInfo_ptr); // virtual uint32_t subaddrIndex() const = 0; -uint32_t MONERO_CoinsInfo_subaddrIndex(void* coinsInfo_ptr); +extern ADDAPI uint32_t MONERO_CoinsInfo_subaddrIndex(void* coinsInfo_ptr); // virtual uint32_t subaddrAccount() const = 0; -uint32_t MONERO_CoinsInfo_subaddrAccount(void* coinsInfo_ptr); +extern ADDAPI uint32_t MONERO_CoinsInfo_subaddrAccount(void* coinsInfo_ptr); // virtual std::string address() const = 0; -const char* MONERO_CoinsInfo_address(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_address(void* coinsInfo_ptr); // virtual std::string addressLabel() const = 0; -const char* MONERO_CoinsInfo_addressLabel(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_addressLabel(void* coinsInfo_ptr); // virtual std::string keyImage() const = 0; -const char* MONERO_CoinsInfo_keyImage(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_keyImage(void* coinsInfo_ptr); // virtual uint64_t unlockTime() const = 0; -uint64_t MONERO_CoinsInfo_unlockTime(void* coinsInfo_ptr); +extern ADDAPI uint64_t MONERO_CoinsInfo_unlockTime(void* coinsInfo_ptr); // virtual bool unlocked() const = 0; -bool MONERO_CoinsInfo_unlocked(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_unlocked(void* coinsInfo_ptr); // virtual std::string pubKey() const = 0; -const char* MONERO_CoinsInfo_pubKey(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_pubKey(void* coinsInfo_ptr); // virtual bool coinbase() const = 0; -bool MONERO_CoinsInfo_coinbase(void* coinsInfo_ptr); +extern ADDAPI bool MONERO_CoinsInfo_coinbase(void* coinsInfo_ptr); // virtual std::string description() const = 0; -const char* MONERO_CoinsInfo_description(void* coinsInfo_ptr); +extern ADDAPI const char* MONERO_CoinsInfo_description(void* coinsInfo_ptr); // }; // struct Coins // { // virtual ~Coins() = 0; // virtual int count() const = 0; -int MONERO_Coins_count(void* coins_ptr); +extern ADDAPI int MONERO_Coins_count(void* coins_ptr); // virtual CoinsInfo * coin(int index) const = 0; -void* MONERO_Coins_coin(void* coins_ptr, int index); +extern ADDAPI void* MONERO_Coins_coin(void* coins_ptr, int index); // virtual std::vector<CoinsInfo*> getAll() const = 0; -int MONERO_Coins_getAll_size(void* coins_ptr); -void* MONERO_Coins_getAll_byIndex(void* coins_ptr, int index); +extern ADDAPI int MONERO_Coins_getAll_size(void* coins_ptr); +extern ADDAPI void* MONERO_Coins_getAll_byIndex(void* coins_ptr, int index); // virtual void refresh() = 0; -void MONERO_Coins_refresh(void* coins_ptr); +extern ADDAPI void MONERO_Coins_refresh(void* coins_ptr); // virtual void setFrozen(std::string public_key) = 0; -void MONERO_Coins_setFrozenByPublicKey(void* coins_ptr, const char* public_key); +extern ADDAPI void MONERO_Coins_setFrozenByPublicKey(void* coins_ptr, const char* public_key); // virtual void setFrozen(int index) = 0; -void MONERO_Coins_setFrozen(void* coins_ptr, int index); +extern ADDAPI void MONERO_Coins_setFrozen(void* coins_ptr, int index); // virtual void thaw(int index) = 0; -void MONERO_Coins_thaw(void* coins_ptr, int index); +extern ADDAPI void MONERO_Coins_thaw(void* coins_ptr, int index); // virtual void thaw(std::string public_key) = 0; -void MONERO_Coins_thawByPublicKey(void* coins_ptr, const char* public_key); +extern ADDAPI void MONERO_Coins_thawByPublicKey(void* coins_ptr, const char* public_key); // virtual bool isTransferUnlocked(uint64_t unlockTime, uint64_t blockHeight) = 0; -bool MONERO_Coins_isTransferUnlocked(void* coins_ptr, uint64_t unlockTime, uint64_t blockHeight); +extern ADDAPI bool MONERO_Coins_isTransferUnlocked(void* coins_ptr, uint64_t unlockTime, uint64_t blockHeight); // virtual void setDescription(const std::string &public_key, const std::string &description) = 0; -void MONERO_Coins_setDescription(void* coins_ptr, const char* public_key, const char* description); +extern ADDAPI void MONERO_Coins_setDescription(void* coins_ptr, const char* public_key, const char* description); // }; // struct SubaddressRow { // public: @@ -334,27 +339,27 @@ void MONERO_Coins_setDescription(void* coins_ptr, const char* public_key, const // std::string m_label; // public: // std::string extra; -const char* MONERO_SubaddressRow_extra(void* subaddressRow_ptr); +extern ADDAPI const char* MONERO_SubaddressRow_extra(void* subaddressRow_ptr); // std::string getAddress() const {return m_address;} -const char* MONERO_SubaddressRow_getAddress(void* subaddressRow_ptr); +extern ADDAPI const char* MONERO_SubaddressRow_getAddress(void* subaddressRow_ptr); // std::string getLabel() const {return m_label;} -const char* MONERO_SubaddressRow_getLabel(void* subaddressRow_ptr); +extern ADDAPI const char* MONERO_SubaddressRow_getLabel(void* subaddressRow_ptr); // std::size_t getRowId() const {return m_rowId;} -size_t MONERO_SubaddressRow_getRowId(void* subaddressRow_ptr); +extern ADDAPI size_t MONERO_SubaddressRow_getRowId(void* subaddressRow_ptr); // }; // struct Subaddress // { // virtual ~Subaddress() = 0; // virtual std::vector<SubaddressRow*> getAll() const = 0; -int MONERO_Subaddress_getAll_size(void* subaddress_ptr); -void* MONERO_Subaddress_getAll_byIndex(void* subaddress_ptr, int index); +extern ADDAPI int MONERO_Subaddress_getAll_size(void* subaddress_ptr); +extern ADDAPI void* MONERO_Subaddress_getAll_byIndex(void* subaddress_ptr, int index); // virtual void addRow(uint32_t accountIndex, const std::string &label) = 0; -void MONERO_Subaddress_addRow(void* subaddress_ptr, uint32_t accountIndex, const char* label); +extern ADDAPI void MONERO_Subaddress_addRow(void* subaddress_ptr, uint32_t accountIndex, const char* label); // virtual void setLabel(uint32_t accountIndex, uint32_t addressIndex, const std::string &label) = 0; -void MONERO_Subaddress_setLabel(void* subaddress_ptr, uint32_t accountIndex, uint32_t addressIndex, const char* label); +extern ADDAPI void MONERO_Subaddress_setLabel(void* subaddress_ptr, uint32_t accountIndex, uint32_t addressIndex, const char* label); // virtual void refresh(uint32_t accountIndex) = 0; -void MONERO_Subaddress_refresh(void* subaddress_ptr, uint32_t accountIndex); +extern ADDAPI void MONERO_Subaddress_refresh(void* subaddress_ptr, uint32_t accountIndex); // }; // struct SubaddressAccountRow { @@ -374,44 +379,44 @@ void MONERO_Subaddress_refresh(void* subaddress_ptr, uint32_t accountIndex); // std::string m_unlockedBalance; // public: // std::string extra; -const char* MONERO_SubaddressAccountRow_extra(void* subaddressAccountRow_ptr); +extern ADDAPI const char* MONERO_SubaddressAccountRow_extra(void* subaddressAccountRow_ptr); // std::string getAddress() const {return m_address;} -const char* MONERO_SubaddressAccountRow_getAddress(void* subaddressAccountRow_ptr); +extern ADDAPI const char* MONERO_SubaddressAccountRow_getAddress(void* subaddressAccountRow_ptr); // std::string getLabel() const {return m_label;} -const char* MONERO_SubaddressAccountRow_getLabel(void* subaddressAccountRow_ptr); +extern ADDAPI const char* MONERO_SubaddressAccountRow_getLabel(void* subaddressAccountRow_ptr); // std::string getBalance() const {return m_balance;} -const char* MONERO_SubaddressAccountRow_getBalance(void* subaddressAccountRow_ptr); +extern ADDAPI const char* MONERO_SubaddressAccountRow_getBalance(void* subaddressAccountRow_ptr); // std::string getUnlockedBalance() const {return m_unlockedBalance;} -const char* MONERO_SubaddressAccountRow_getUnlockedBalance(void* subaddressAccountRow_ptr); +extern ADDAPI const char* MONERO_SubaddressAccountRow_getUnlockedBalance(void* subaddressAccountRow_ptr); // std::size_t getRowId() const {return m_rowId;} -size_t MONERO_SubaddressAccountRow_getRowId(void* subaddressAccountRow_ptr); +extern ADDAPI size_t MONERO_SubaddressAccountRow_getRowId(void* subaddressAccountRow_ptr); // }; // struct SubaddressAccount // { // virtual ~SubaddressAccount() = 0; // virtual std::vector<SubaddressAccountRow*> getAll() const = 0; -int MONERO_SubaddressAccount_getAll_size(void* subaddressAccount_ptr); -void* MONERO_SubaddressAccount_getAll_byIndex(void* subaddressAccount_ptr, int index); +extern ADDAPI int MONERO_SubaddressAccount_getAll_size(void* subaddressAccount_ptr); +extern ADDAPI void* MONERO_SubaddressAccount_getAll_byIndex(void* subaddressAccount_ptr, int index); // virtual void addRow(const std::string &label) = 0; -void MONERO_SubaddressAccount_addRow(void* subaddressAccount_ptr, const char* label); +extern ADDAPI void MONERO_SubaddressAccount_addRow(void* subaddressAccount_ptr, const char* label); // virtual void setLabel(uint32_t accountIndex, const std::string &label) = 0; -void MONERO_SubaddressAccount_setLabel(void* subaddressAccount_ptr, uint32_t accountIndex, const char* label); +extern ADDAPI void MONERO_SubaddressAccount_setLabel(void* subaddressAccount_ptr, uint32_t accountIndex, const char* label); // virtual void refresh() = 0; -void MONERO_SubaddressAccount_refresh(void* subaddressAccount_ptr); +extern ADDAPI void MONERO_SubaddressAccount_refresh(void* subaddressAccount_ptr); // }; // struct MultisigState { // MultisigState() : isMultisig(false), isReady(false), threshold(0), total(0) {} // bool isMultisig; -bool MONERO_MultisigState_isMultisig(void* multisigState_ptr); +extern ADDAPI bool MONERO_MultisigState_isMultisig(void* multisigState_ptr); // bool isReady; -bool MONERO_MultisigState_isReady(void* multisigState_ptr); +extern ADDAPI bool MONERO_MultisigState_isReady(void* multisigState_ptr); // uint32_t threshold; -uint32_t MONERO_MultisigState_threshold(void* multisigState_ptr); +extern ADDAPI uint32_t MONERO_MultisigState_threshold(void* multisigState_ptr); // uint32_t total; -uint32_t MONERO_MultisigState_total(void* multisigState_ptr); +extern ADDAPI uint32_t MONERO_MultisigState_total(void* multisigState_ptr); // }; @@ -420,9 +425,9 @@ uint32_t MONERO_MultisigState_total(void* multisigState_ptr); // DeviceProgress(double progress, bool indeterminate=false): m_progress(progress), m_indeterminate(indeterminate) {} // virtual double progress() const { return m_progress; } -bool MONERO_DeviceProgress_progress(void* deviceProgress_ptr); +extern ADDAPI bool MONERO_DeviceProgress_progress(void* deviceProgress_ptr); // virtual bool indeterminate() const { return m_indeterminate; } -bool MONERO_DeviceProgress_indeterminate(void* deviceProgress_ptr); +extern ADDAPI bool MONERO_DeviceProgress_indeterminate(void* deviceProgress_ptr); // protected: // double m_progress; @@ -487,83 +492,83 @@ const int BackgroundSync_CustomPassword = 2; // }; // virtual ~Wallet() = 0; // virtual std::string seed(const std::string& seed_offset = "") const = 0; -const char* MONERO_Wallet_seed(void* wallet_ptr, const char* seed_offset); +extern ADDAPI const char* MONERO_Wallet_seed(void* wallet_ptr, const char* seed_offset); // virtual std::string getSeedLanguage() const = 0; -const char* MONERO_Wallet_getSeedLanguage(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_getSeedLanguage(void* wallet_ptr); // virtual void setSeedLanguage(const std::string &arg) = 0; -void MONERO_Wallet_setSeedLanguage(void* wallet_ptr, const char* arg); +extern ADDAPI void MONERO_Wallet_setSeedLanguage(void* wallet_ptr, const char* arg); // virtual int status() const = 0; -int MONERO_Wallet_status(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_status(void* wallet_ptr); // virtual std::string errorString() const = 0; -const char* MONERO_Wallet_errorString(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_errorString(void* wallet_ptr); // virtual void statusWithErrorString(int& status, std::string& errorString) const = 0; // virtual bool setPassword(const std::string &password) = 0; -bool MONERO_Wallet_setPassword(void* wallet_ptr, const char* password); +extern ADDAPI bool MONERO_Wallet_setPassword(void* wallet_ptr, const char* password); // virtual const std::string& getPassword() const = 0; -const char* MONERO_Wallet_getPassword(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_getPassword(void* wallet_ptr); // virtual bool setDevicePin(const std::string &pin) { (void)pin; return false; }; -bool MONERO_Wallet_setDevicePin(void* wallet_ptr, const char* pin); +extern ADDAPI bool MONERO_Wallet_setDevicePin(void* wallet_ptr, const char* pin); // virtual bool setDevicePassphrase(const std::string &passphrase) { (void)passphrase; return false; }; -bool MONERO_Wallet_setDevicePassphrase(void* wallet_ptr, const char* passphrase); +extern ADDAPI bool MONERO_Wallet_setDevicePassphrase(void* wallet_ptr, const char* passphrase); // virtual std::string address(uint32_t accountIndex = 0, uint32_t addressIndex = 0) const = 0; -const char* MONERO_Wallet_address(void* wallet_ptr, uint64_t accountIndex, uint64_t addressIndex); +extern ADDAPI const char* MONERO_Wallet_address(void* wallet_ptr, uint64_t accountIndex, uint64_t addressIndex); // std::string mainAddress() const { return address(0, 0); } // virtual std::string path() const = 0; -const char* MONERO_Wallet_path(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_path(void* wallet_ptr); // virtual NetworkType nettype() const = 0; -int MONERO_Wallet_nettype(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_nettype(void* wallet_ptr); // bool mainnet() const { return nettype() == MAINNET; } // bool testnet() const { return nettype() == TESTNET; } // bool stagenet() const { return nettype() == STAGENET; } // virtual void hardForkInfo(uint8_t &version, uint64_t &earliest_height) const = 0; // virtual bool useForkRules(uint8_t version, int64_t early_blocks) const = 0; -uint8_t MONERO_Wallet_useForkRules(void* wallet_ptr, uint8_t version, int64_t early_blocks); +extern ADDAPI uint8_t MONERO_Wallet_useForkRules(void* wallet_ptr, uint8_t version, int64_t early_blocks); // virtual std::string integratedAddress(const std::string &payment_id) const = 0; -const char* MONERO_Wallet_integratedAddress(void* wallet_ptr, const char* payment_id); +extern ADDAPI const char* MONERO_Wallet_integratedAddress(void* wallet_ptr, const char* payment_id); // virtual std::string secretViewKey() const = 0; -const char* MONERO_Wallet_secretViewKey(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_secretViewKey(void* wallet_ptr); // virtual std::string publicViewKey() const = 0; -const char* MONERO_Wallet_publicViewKey(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_publicViewKey(void* wallet_ptr); // virtual std::string secretSpendKey() const = 0; -const char* MONERO_Wallet_secretSpendKey(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_secretSpendKey(void* wallet_ptr); // virtual std::string publicSpendKey() const = 0; -const char* MONERO_Wallet_publicSpendKey(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_publicSpendKey(void* wallet_ptr); // virtual std::string publicMultisigSignerKey() const = 0; -const char* MONERO_Wallet_publicMultisigSignerKey(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_publicMultisigSignerKey(void* wallet_ptr); // virtual void stop() = 0; -void MONERO_Wallet_stop(void* wallet_ptr); +extern ADDAPI void MONERO_Wallet_stop(void* wallet_ptr); // virtual bool store(const std::string &path) = 0; -bool MONERO_Wallet_store(void* wallet_ptr, const char* path); +extern ADDAPI bool MONERO_Wallet_store(void* wallet_ptr, const char* path); // virtual std::string filename() const = 0; -const char* MONERO_Wallet_filename(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_filename(void* wallet_ptr); // virtual std::string keysFilename() const = 0; -const char* MONERO_Wallet_keysFilename(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_keysFilename(void* wallet_ptr); // virtual bool init(const std::string &daemon_address, uint64_t upper_transaction_size_limit = 0, const std::string &daemon_username = "", const std::string &daemon_password = "", bool use_ssl = false, bool lightWallet = false, const std::string &proxy_address = "") = 0; -bool MONERO_Wallet_init(void* wallet_ptr, const char* daemon_address, uint64_t upper_transaction_size_limit, const char* daemon_username, const char* daemon_password, bool use_ssl, bool lightWallet, const char* proxy_address); +extern ADDAPI bool MONERO_Wallet_init(void* wallet_ptr, const char* daemon_address, uint64_t upper_transaction_size_limit, const char* daemon_username, const char* daemon_password, bool use_ssl, bool lightWallet, const char* proxy_address); // virtual bool createWatchOnly(const std::string &path, const std::string &password, const std::string &language) const = 0; -bool MONERO_Wallet_createWatchOnly(void* wallet_ptr, const char* path, const char* password, const char* language); +extern ADDAPI bool MONERO_Wallet_createWatchOnly(void* wallet_ptr, const char* path, const char* password, const char* language); // virtual void setRefreshFromBlockHeight(uint64_t refresh_from_block_height) = 0; -void MONERO_Wallet_setRefreshFromBlockHeight(void* wallet_ptr, uint64_t refresh_from_block_height); +extern ADDAPI void MONERO_Wallet_setRefreshFromBlockHeight(void* wallet_ptr, uint64_t refresh_from_block_height); // virtual uint64_t getRefreshFromBlockHeight() const = 0; -uint64_t MONERO_Wallet_getRefreshFromBlockHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_getRefreshFromBlockHeight(void* wallet_ptr); // virtual void setRecoveringFromSeed(bool recoveringFromSeed) = 0; -void MONERO_Wallet_setRecoveringFromSeed(void* wallet_ptr, bool recoveringFromSeed); +extern ADDAPI void MONERO_Wallet_setRecoveringFromSeed(void* wallet_ptr, bool recoveringFromSeed); // virtual void setRecoveringFromDevice(bool recoveringFromDevice) = 0; -void MONERO_Wallet_setRecoveringFromDevice(void* wallet_ptr, bool recoveringFromDevice); +extern ADDAPI void MONERO_Wallet_setRecoveringFromDevice(void* wallet_ptr, bool recoveringFromDevice); // virtual void setSubaddressLookahead(uint32_t major, uint32_t minor) = 0; -void MONERO_Wallet_setSubaddressLookahead(void* wallet_ptr, uint32_t major, uint32_t minor); +extern ADDAPI void MONERO_Wallet_setSubaddressLookahead(void* wallet_ptr, uint32_t major, uint32_t minor); // virtual bool connectToDaemon() = 0; -bool MONERO_Wallet_connectToDaemon(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_connectToDaemon(void* wallet_ptr); // virtual ConnectionStatus connected() const = 0; -int MONERO_Wallet_connected(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_connected(void* wallet_ptr); // virtual void setTrustedDaemon(bool arg) = 0; -void MONERO_Wallet_setTrustedDaemon(void* wallet_ptr, bool arg); +extern ADDAPI void MONERO_Wallet_setTrustedDaemon(void* wallet_ptr, bool arg); // virtual bool trustedDaemon() const = 0; -bool MONERO_Wallet_trustedDaemon(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_trustedDaemon(void* wallet_ptr); // virtual bool setProxy(const std::string &address) = 0; -bool MONERO_Wallet_setProxy(void* wallet_ptr, const char* address); +extern ADDAPI bool MONERO_Wallet_setProxy(void* wallet_ptr, const char* address); // virtual uint64_t balance(uint32_t accountIndex = 0) const = 0; -uint64_t MONERO_Wallet_balance(void* wallet_ptr, uint32_t accountIndex); +extern ADDAPI uint64_t MONERO_Wallet_balance(void* wallet_ptr, uint32_t accountIndex); // uint64_t balanceAll() const { // uint64_t result = 0; // for (uint32_t i = 0; i < numSubaddressAccounts(); ++i) @@ -571,7 +576,7 @@ uint64_t MONERO_Wallet_balance(void* wallet_ptr, uint32_t accountIndex); // return result; // } // virtual uint64_t unlockedBalance(uint32_t accountIndex = 0) const = 0; -uint64_t MONERO_Wallet_unlockedBalance(void* wallet_ptr, uint32_t accountIndex); +extern ADDAPI uint64_t MONERO_Wallet_unlockedBalance(void* wallet_ptr, uint32_t accountIndex); // uint64_t unlockedBalanceAll() const { // uint64_t result = 0; // for (uint32_t i = 0; i < numSubaddressAccounts(); ++i) @@ -580,97 +585,97 @@ uint64_t MONERO_Wallet_unlockedBalance(void* wallet_ptr, uint32_t accountIndex); // } // virtual bool watchOnly() const = 0; // virtual uint64_t viewOnlyBalance(uint32_t accountIndex, const std::vector<std::string> &key_images = {}) const = 0; -uint64_t MONERO_Wallet_viewOnlyBalance(void* wallet_ptr, uint32_t accountIndex); -bool MONERO_Wallet_watchOnly(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_viewOnlyBalance(void* wallet_ptr, uint32_t accountIndex); +extern ADDAPI bool MONERO_Wallet_watchOnly(void* wallet_ptr); // virtual bool isDeterministic() const = 0; -bool MONERO_Wallet_isDeterministic(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_isDeterministic(void* wallet_ptr); // virtual uint64_t blockChainHeight() const = 0; -uint64_t MONERO_Wallet_blockChainHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_blockChainHeight(void* wallet_ptr); // virtual uint64_t approximateBlockChainHeight() const = 0; -uint64_t MONERO_Wallet_approximateBlockChainHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_approximateBlockChainHeight(void* wallet_ptr); // virtual uint64_t estimateBlockChainHeight() const = 0; -uint64_t MONERO_Wallet_estimateBlockChainHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_estimateBlockChainHeight(void* wallet_ptr); // virtual uint64_t daemonBlockChainHeight() const = 0; -uint64_t MONERO_Wallet_daemonBlockChainHeight(void* wallet_ptr); -uint64_t MONERO_Wallet_daemonBlockChainHeight_cached(void* wallet_ptr); -void MONERO_Wallet_daemonBlockChainHeight_runThread(void* wallet_ptr, int seconds); +extern ADDAPI uint64_t MONERO_Wallet_daemonBlockChainHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_daemonBlockChainHeight_cached(void* wallet_ptr); +extern ADDAPI void MONERO_Wallet_daemonBlockChainHeight_runThread(void* wallet_ptr, int seconds); // virtual uint64_t daemonBlockChainTargetHeight() const = 0; -uint64_t MONERO_Wallet_daemonBlockChainTargetHeight(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_daemonBlockChainTargetHeight(void* wallet_ptr); // virtual bool synchronized() const = 0; -bool MONERO_Wallet_synchronized(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_synchronized(void* wallet_ptr); // static std::string displayAmount(uint64_t amount); -const char* MONERO_Wallet_displayAmount(uint64_t amount); +extern ADDAPI const char* MONERO_Wallet_displayAmount(uint64_t amount); // static uint64_t amountFromString(const std::string &amount); -uint64_t MONERO_Wallet_amountFromString(const char* amount); +extern ADDAPI uint64_t MONERO_Wallet_amountFromString(const char* amount); // static uint64_t amountFromDouble(double amount); -uint64_t MONERO_Wallet_amountFromDouble(double amount); +extern ADDAPI uint64_t MONERO_Wallet_amountFromDouble(double amount); // static std::string genPaymentId(); -const char* MONERO_Wallet_genPaymentId(); +extern ADDAPI const char* MONERO_Wallet_genPaymentId(); // static bool paymentIdValid(const std::string &paiment_id); -bool MONERO_Wallet_paymentIdValid(const char* paiment_id); +extern ADDAPI bool MONERO_Wallet_paymentIdValid(const char* paiment_id); // static bool addressValid(const std::string &str, NetworkType nettype); -bool MONERO_Wallet_addressValid(const char* str, int nettype); +extern ADDAPI bool MONERO_Wallet_addressValid(const char* str, int nettype); // static bool addressValid(const std::string &str, bool testnet) // deprecated // { // return addressValid(str, testnet ? TESTNET : MAINNET); // } -bool MONERO_Wallet_keyValid(const char* secret_key_string, const char* address_string, bool isViewKey, int nettype); -const char* MONERO_Wallet_keyValid_error(const char* secret_key_string, const char* address_string, bool isViewKey, int nettype); +extern ADDAPI bool MONERO_Wallet_keyValid(const char* secret_key_string, const char* address_string, bool isViewKey, int nettype); +extern ADDAPI const char* MONERO_Wallet_keyValid_error(const char* secret_key_string, const char* address_string, bool isViewKey, int nettype); // static bool keyValid(const std::string &secret_key_string, const std::string &address_string, bool isViewKey, NetworkType nettype, std::string &error); // static bool keyValid(const std::string &secret_key_string, const std::string &address_string, bool isViewKey, bool testnet, std::string &error) // deprecated // { // return keyValid(secret_key_string, address_string, isViewKey, testnet ? TESTNET : MAINNET, error); // } // static std::string paymentIdFromAddress(const std::string &str, NetworkType nettype); -const char* MONERO_Wallet_paymentIdFromAddress(const char* strarg, int nettype); +extern ADDAPI const char* MONERO_Wallet_paymentIdFromAddress(const char* strarg, int nettype); // static std::string paymentIdFromAddress(const std::string &str, bool testnet) // deprecated // { // return paymentIdFromAddress(str, testnet ? TESTNET : MAINNET); // } // static uint64_t maximumAllowedAmount(); -uint64_t MONERO_Wallet_maximumAllowedAmount(); +extern ADDAPI uint64_t MONERO_Wallet_maximumAllowedAmount(); // static void init(const char *argv0, const char *default_log_base_name) { init(argv0, default_log_base_name, "", true); } // static void init(const char *argv0, const char *default_log_base_name, const std::string &log_path, bool console); -void MONERO_Wallet_init3(void* wallet_ptr, const char* argv0, const char* default_log_base_name, const char* log_path, bool console); +extern ADDAPI void MONERO_Wallet_init3(void* wallet_ptr, const char* argv0, const char* default_log_base_name, const char* log_path, bool console); // static void debug(const std::string &category, const std::string &str); // static void info(const std::string &category, const std::string &str); // static void warning(const std::string &category, const std::string &str); // static void error(const std::string &category, const std::string &str); // virtual void startRefresh() = 0; // virtual bool getPolyseed(std::string &seed, std::string &passphrase) const = 0; -const char* MONERO_Wallet_getPolyseed(void* wallet_ptr, const char* passphrase); +extern ADDAPI const char* MONERO_Wallet_getPolyseed(void* wallet_ptr, const char* passphrase); // static bool createPolyseed(std::string &seed_words, std::string &err, const std::string &language = "English"); -const char* MONERO_Wallet_createPolyseed(); -void MONERO_Wallet_startRefresh(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_createPolyseed(); +extern ADDAPI void MONERO_Wallet_startRefresh(void* wallet_ptr); // virtual void pauseRefresh() = 0; -void MONERO_Wallet_pauseRefresh(void* wallet_ptr); +extern ADDAPI void MONERO_Wallet_pauseRefresh(void* wallet_ptr); // virtual bool refresh() = 0; -bool MONERO_Wallet_refresh(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_refresh(void* wallet_ptr); // virtual void refreshAsync() = 0; -void MONERO_Wallet_refreshAsync(void* wallet_ptr); +extern ADDAPI void MONERO_Wallet_refreshAsync(void* wallet_ptr); // virtual bool rescanBlockchain() = 0; -bool MONERO_Wallet_rescanBlockchain(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_rescanBlockchain(void* wallet_ptr); // virtual void rescanBlockchainAsync() = 0; -void MONERO_Wallet_rescanBlockchainAsync(void* wallet_ptr); +extern ADDAPI void MONERO_Wallet_rescanBlockchainAsync(void* wallet_ptr); // virtual void setAutoRefreshInterval(int millis) = 0; -void MONERO_Wallet_setAutoRefreshInterval(void* wallet_ptr, int millis); +extern ADDAPI void MONERO_Wallet_setAutoRefreshInterval(void* wallet_ptr, int millis); // virtual int autoRefreshInterval() const = 0; -int MONERO_Wallet_autoRefreshInterval(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_autoRefreshInterval(void* wallet_ptr); // virtual void addSubaddressAccount(const std::string& label) = 0; -void MONERO_Wallet_addSubaddressAccount(void* wallet_ptr, const char* label); +extern ADDAPI void MONERO_Wallet_addSubaddressAccount(void* wallet_ptr, const char* label); // virtual size_t numSubaddressAccounts() const = 0; -size_t MONERO_Wallet_numSubaddressAccounts(void* wallet_ptr); +extern ADDAPI size_t MONERO_Wallet_numSubaddressAccounts(void* wallet_ptr); // virtual size_t numSubaddresses(uint32_t accountIndex) const = 0; -size_t MONERO_Wallet_numSubaddresses(void* wallet_ptr, uint32_t accountIndex); +extern ADDAPI size_t MONERO_Wallet_numSubaddresses(void* wallet_ptr, uint32_t accountIndex); // virtual void addSubaddress(uint32_t accountIndex, const std::string& label) = 0; -void MONERO_Wallet_addSubaddress(void* wallet_ptr, uint32_t accountIndex, const char* label); +extern ADDAPI void MONERO_Wallet_addSubaddress(void* wallet_ptr, uint32_t accountIndex, const char* label); // virtual std::string getSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex) const = 0; -const char* MONERO_Wallet_getSubaddressLabel(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex); +extern ADDAPI const char* MONERO_Wallet_getSubaddressLabel(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex); // virtual void setSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex, const std::string &label) = 0; -void MONERO_Wallet_setSubaddressLabel(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex, const char* label); +extern ADDAPI void MONERO_Wallet_setSubaddressLabel(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex, const char* label); // virtual MultisigState multisig() const = 0; // virtual std::string getMultisigInfo() const = 0; -const char* MONERO_Wallet_getMultisigInfo(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_getMultisigInfo(void* wallet_ptr); // virtual std::string makeMultisig(const std::vector<std::string>& info, uint32_t threshold) = 0; // virtual std::string exchangeMultisigKeys(const std::vector<std::string> &info, const bool force_update_use_with_caution) = 0; // virtual bool exportMultisigImages(std::string& images) = 0; @@ -688,67 +693,67 @@ const char* MONERO_Wallet_getMultisigInfo(void* wallet_ptr); // uint32_t subaddr_account = 0, // std::set<uint32_t> subaddr_indices = {}, // const std::set<std::string> &preferred_inputs = {) = 0; -void* MONERO_Wallet_createTransaction(void* wallet_ptr, const char* dst_addr, const char* payment_id, +extern ADDAPI void* MONERO_Wallet_createTransaction(void* wallet_ptr, const char* dst_addr, const char* payment_id, uint64_t amount, uint32_t mixin_count, int pendingTransactionPriority, uint32_t subaddr_account, const char* preferredInputs, const char* separator); // virtual PendingTransaction * createSweepUnmixableTransaction() = 0; // virtual UnsignedTransaction * loadUnsignedTx(const std::string &unsigned_filename) = 0; -void* MONERO_Wallet_loadUnsignedTx(void* wallet_ptr, const char* unsigned_filename); +extern ADDAPI void* MONERO_Wallet_loadUnsignedTx(void* wallet_ptr, const char* unsigned_filename); // virtual bool submitTransaction(const std::string &fileName) = 0; -bool MONERO_Wallet_submitTransaction(void* wallet_ptr, const char* fileName); +extern ADDAPI bool MONERO_Wallet_submitTransaction(void* wallet_ptr, const char* fileName); // virtual void disposeTransaction(PendingTransaction * t) = 0; // virtual uint64_t estimateTransactionFee(const std::vector<std::pair<std::string, uint64_t>> &destinations, // PendingTransaction::Priority priority) const = 0; // virtual bool hasUnknownKeyImages() const = 0; -bool MONERO_Wallet_hasUnknownKeyImages(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_hasUnknownKeyImages(void* wallet_ptr); // virtual bool exportKeyImages(const std::string &filename, bool all = false) = 0; -bool MONERO_Wallet_exportKeyImages(void* wallet_ptr, const char* filename, bool all); +extern ADDAPI bool MONERO_Wallet_exportKeyImages(void* wallet_ptr, const char* filename, bool all); // virtual bool importKeyImages(const std::string &filename) = 0; -bool MONERO_Wallet_importKeyImages(void* wallet_ptr, const char* filename); +extern ADDAPI bool MONERO_Wallet_importKeyImages(void* wallet_ptr, const char* filename); // virtual bool exportOutputs(const std::string &filename, bool all = false) = 0; -bool MONERO_Wallet_exportOutputs(void* wallet_ptr, const char* filename, bool all); +extern ADDAPI bool MONERO_Wallet_exportOutputs(void* wallet_ptr, const char* filename, bool all); // virtual bool importOutputs(const std::string &filename) = 0; -bool MONERO_Wallet_importOutputs(void* wallet_ptr, const char* filename); +extern ADDAPI bool MONERO_Wallet_importOutputs(void* wallet_ptr, const char* filename); // virtual bool scanTransactions(const std::vector<std::string> &txids) = 0; // virtual bool setupBackgroundSync(const BackgroundSyncType background_sync_type, const std::string &wallet_password, const optional<std::string> &background_cache_password) = 0; -bool MONERO_Wallet_setupBackgroundSync(void* wallet_ptr, int background_sync_type, const char* wallet_password, const char* background_cache_password); +extern ADDAPI bool MONERO_Wallet_setupBackgroundSync(void* wallet_ptr, int background_sync_type, const char* wallet_password, const char* background_cache_password); // virtual BackgroundSyncType getBackgroundSyncType() const = 0; -int MONERO_Wallet_getBackgroundSyncType(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_getBackgroundSyncType(void* wallet_ptr); // virtual bool startBackgroundSync() = 0; -bool MONERO_Wallet_startBackgroundSync(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_startBackgroundSync(void* wallet_ptr); // virtual bool stopBackgroundSync(const std::string &wallet_password) = 0; -bool MONERO_Wallet_stopBackgroundSync(void* wallet_ptr, const char* wallet_password); +extern ADDAPI bool MONERO_Wallet_stopBackgroundSync(void* wallet_ptr, const char* wallet_password); // virtual bool isBackgroundSyncing() const = 0; -bool MONERO_Wallet_isBackgroundSyncing(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_isBackgroundSyncing(void* wallet_ptr); // virtual bool isBackgroundWallet() const = 0; -bool MONERO_Wallet_isBackgroundWallet(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_isBackgroundWallet(void* wallet_ptr); // virtual TransactionHistory * history() = 0; -void* MONERO_Wallet_history(void* wallet_ptr); +extern ADDAPI void* MONERO_Wallet_history(void* wallet_ptr); // virtual AddressBook * addressBook() = 0; -void* MONERO_Wallet_addressBook(void* wallet_ptr); +extern ADDAPI void* MONERO_Wallet_addressBook(void* wallet_ptr); // virtual Coins * coins() = 0; -void* MONERO_Wallet_coins(void* wallet_ptr); +extern ADDAPI void* MONERO_Wallet_coins(void* wallet_ptr); // virtual Subaddress * subaddress() = 0; -void* MONERO_Wallet_subaddress(void* wallet_ptr); +extern ADDAPI void* MONERO_Wallet_subaddress(void* wallet_ptr); // virtual SubaddressAccount * subaddressAccount() = 0; -void* MONERO_Wallet_subaddressAccount(void* wallet_ptr); +extern ADDAPI void* MONERO_Wallet_subaddressAccount(void* wallet_ptr); // virtual void setListener(WalletListener *) = 0; // virtual uint32_t defaultMixin() const = 0; -uint32_t MONERO_Wallet_defaultMixin(void* wallet_ptr); +extern ADDAPI uint32_t MONERO_Wallet_defaultMixin(void* wallet_ptr); // virtual void setDefaultMixin(uint32_t arg) = 0; -void MONERO_Wallet_setDefaultMixin(void* wallet_ptr, uint32_t arg); +extern ADDAPI void MONERO_Wallet_setDefaultMixin(void* wallet_ptr, uint32_t arg); // virtual bool setCacheAttribute(const std::string &key, const std::string &val) = 0; -bool MONERO_Wallet_setCacheAttribute(void* wallet_ptr, const char* key, const char* val); +extern ADDAPI bool MONERO_Wallet_setCacheAttribute(void* wallet_ptr, const char* key, const char* val); // virtual std::string getCacheAttribute(const std::string &key) const = 0; -const char* MONERO_Wallet_getCacheAttribute(void* wallet_ptr, const char* key); +extern ADDAPI const char* MONERO_Wallet_getCacheAttribute(void* wallet_ptr, const char* key); // virtual bool setUserNote(const std::string &txid, const std::string ¬e) = 0; -bool MONERO_Wallet_setUserNote(void* wallet_ptr, const char* txid, const char* note); +extern ADDAPI bool MONERO_Wallet_setUserNote(void* wallet_ptr, const char* txid, const char* note); // virtual std::string getUserNote(const std::string &txid) const = 0; -const char* MONERO_Wallet_getUserNote(void* wallet_ptr, const char* txid); +extern ADDAPI const char* MONERO_Wallet_getUserNote(void* wallet_ptr, const char* txid); // virtual std::string getTxKey(const std::string &txid) const = 0; -const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid); +extern ADDAPI const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid); // virtual bool checkTxKey(const std::string &txid, std::string tx_key, const std::string &address, uint64_t &received, bool &in_pool, uint64_t &confirmations) = 0; // virtual std::string getTxProof(const std::string &txid, const std::string &address, const std::string &message) const = 0; // virtual bool checkTxProof(const std::string &txid, const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &received, bool &in_pool, uint64_t &confirmations) = 0; @@ -757,20 +762,20 @@ const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid); // virtual std::string getReserveProof(bool all, uint32_t account_index, uint64_t amount, const std::string &message) const = 0; // virtual bool checkReserveProof(const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &total, uint64_t &spent) const = 0; // virtual std::string signMessage(const std::string &message, const std::string &address = "") = 0; -const char* MONERO_Wallet_signMessage(void* wallet_ptr, const char* message, const char* address); +extern ADDAPI const char* MONERO_Wallet_signMessage(void* wallet_ptr, const char* message, const char* address); // virtual bool verifySignedMessage(const std::string &message, const std::string &addres, const std::string &signature) const = 0; -bool MONERO_Wallet_verifySignedMessage(void* wallet_ptr, const char* message, const char* address, const char* signature); +extern ADDAPI bool MONERO_Wallet_verifySignedMessage(void* wallet_ptr, const char* message, const char* address, const char* signature); // virtual std::string signMultisigParticipant(const std::string &message) const = 0; // virtual bool verifyMessageWithPublicKey(const std::string &message, const std::string &publicKey, const std::string &signature) const = 0; // virtual bool parse_uri(const std::string &uri, std::string &address, std::string &payment_id, uint64_t &amount, std::string &tx_description, std::string &recipient_name, std::vector<std::string> &unknown_parameters, std::string &error) = 0; // virtual std::string make_uri(const std::string &address, const std::string &payment_id, uint64_t amount, const std::string &tx_description, const std::string &recipient_name, std::string &error) const = 0; // virtual std::string getDefaultDataDir() const = 0; // virtual bool rescanSpent() = 0; -bool MONERO_Wallet_rescanSpent(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_rescanSpent(void* wallet_ptr); // virtual void setOffline(bool offline) = 0; -void MONERO_Wallet_setOffline(void* wallet_ptr, bool offline); +extern ADDAPI void MONERO_Wallet_setOffline(void* wallet_ptr, bool offline); // virtual bool isOffline() const = 0; -bool MONERO_Wallet_isOffline(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_isOffline(void* wallet_ptr); // virtual bool blackballOutputs(const std::vector<std::string> &outputs, bool add) = 0; // virtual bool blackballOutput(const std::string &amount, const std::string &offset) = 0; // virtual bool unblackballOutput(const std::string &amount, const std::string &offset) = 0; @@ -778,43 +783,43 @@ bool MONERO_Wallet_isOffline(void* wallet_ptr); // virtual bool getRings(const std::string &txid, std::vector<std::pair<std::string, std::vector<uint64_t>>> &rings) const = 0; // virtual bool setRing(const std::string &key_image, const std::vector<uint64_t> &ring, bool relative) = 0; // virtual void segregatePreForkOutputs(bool segregate) = 0; -void MONERO_Wallet_segregatePreForkOutputs(void* wallet_ptr, bool segregate); +extern ADDAPI void MONERO_Wallet_segregatePreForkOutputs(void* wallet_ptr, bool segregate); // virtual void segregationHeight(uint64_t height) = 0; -void MONERO_Wallet_segregationHeight(void* wallet_ptr, uint64_t height); +extern ADDAPI void MONERO_Wallet_segregationHeight(void* wallet_ptr, uint64_t height); // virtual void keyReuseMitigation2(bool mitigation) = 0; -void MONERO_Wallet_keyReuseMitigation2(void* wallet_ptr, bool mitigation); +extern ADDAPI void MONERO_Wallet_keyReuseMitigation2(void* wallet_ptr, bool mitigation); // virtual bool lightWalletLogin(bool &isNewWallet) const = 0; // virtual bool lightWalletImportWalletRequest(std::string &payment_id, uint64_t &fee, bool &new_request, bool &request_fulfilled, std::string &payment_address, std::string &status) = 0; // virtual bool lockKeysFile() = 0; -bool MONERO_Wallet_lockKeysFile(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_lockKeysFile(void* wallet_ptr); // virtual bool unlockKeysFile() = 0; -bool MONERO_Wallet_unlockKeysFile(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_unlockKeysFile(void* wallet_ptr); // virtual bool isKeysFileLocked() = 0; -bool MONERO_Wallet_isKeysFileLocked(void* wallet_ptr); +extern ADDAPI bool MONERO_Wallet_isKeysFileLocked(void* wallet_ptr); // virtual Device getDeviceType() const = 0; -int MONERO_Wallet_getDeviceType(void* wallet_ptr); +extern ADDAPI int MONERO_Wallet_getDeviceType(void* wallet_ptr); // virtual uint64_t coldKeyImageSync(uint64_t &spent, uint64_t &unspent) = 0; -uint64_t MONERO_Wallet_coldKeyImageSync(void* wallet_ptr, uint64_t spent, uint64_t unspent); +extern ADDAPI uint64_t MONERO_Wallet_coldKeyImageSync(void* wallet_ptr, uint64_t spent, uint64_t unspent); // virtual void deviceShowAddress(uint32_t accountIndex, uint32_t addressIndex, const std::string &paymentId) = 0; -const char* MONERO_Wallet_deviceShowAddress(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex); +extern ADDAPI const char* MONERO_Wallet_deviceShowAddress(void* wallet_ptr, uint32_t accountIndex, uint32_t addressIndex); // virtual bool reconnectDevice() = 0; -const char* MONERO_Wallet_reconnectDevice(void* wallet_ptr); +extern ADDAPI const char* MONERO_Wallet_reconnectDevice(void* wallet_ptr); // virtual uint64_t getBytesReceived() = 0; -uint64_t MONERO_Wallet_getBytesReceived(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_getBytesReceived(void* wallet_ptr); // virtual uint64_t getBytesSent() = 0; -uint64_t MONERO_Wallet_getBytesSent(void* wallet_ptr); +extern ADDAPI uint64_t MONERO_Wallet_getBytesSent(void* wallet_ptr); // }; // struct WalletManager // { // virtual Wallet * createWallet(const std::string &path, const std::string &password, const std::string &language, NetworkType nettype, uint64_t kdf_rounds = 1) = 0; -void* MONERO_WalletManager_createWallet(void* wm_ptr, const char* path, const char* password, const char* language, int networkType); +extern ADDAPI void* MONERO_WalletManager_createWallet(void* wm_ptr, const char* path, const char* password, const char* language, int networkType); // Wallet * createWallet(const std::string &path, const std::string &password, const std::string &language, bool testnet = false) // deprecated // { // return createWallet(path, password, language, testnet ? TESTNET : MAINNET); // } // virtual Wallet * openWallet(const std::string &path, const std::string &password, NetworkType nettype, uint64_t kdf_rounds = 1, WalletListener * listener = nullptr) = 0; -void* MONERO_WalletManager_openWallet(void* wm_ptr, const char* path, const char* password, int networkType); +extern ADDAPI void* MONERO_WalletManager_openWallet(void* wm_ptr, const char* path, const char* password, int networkType); // Wallet * openWallet(const std::string &path, const std::string &password, bool testnet = false) // deprecated // { // return openWallet(path, password, testnet ? TESTNET : MAINNET); @@ -822,7 +827,7 @@ void* MONERO_WalletManager_openWallet(void* wm_ptr, const char* path, const char // virtual Wallet * recoveryWallet(const std::string &path, const std::string &password, const std::string &mnemonic, // NetworkType nettype = MAINNET, uint64_t restoreHeight = 0, uint64_t kdf_rounds = 1, // const std::string &seed_offset = {}) = 0; -void* MONERO_WalletManager_recoveryWallet(void* wm_ptr, const char* path, const char* password, const char* mnemonic, int networkType, uint64_t restoreHeight, uint64_t kdfRounds, const char* seedOffset); +extern ADDAPI void* MONERO_WalletManager_recoveryWallet(void* wm_ptr, const char* path, const char* password, const char* mnemonic, int networkType, uint64_t restoreHeight, uint64_t kdfRounds, const char* seedOffset); // Wallet * recoveryWallet(const std::string &path, const std::string &password, const std::string &mnemonic, // bool testnet = false, uint64_t restoreHeight = 0) // deprecated // { @@ -842,7 +847,7 @@ void* MONERO_WalletManager_recoveryWallet(void* wm_ptr, const char* path, const // const std::string &viewKeyString, // const std::string &spendKeyString = "", // uint64_t kdf_rounds = 1) = 0; -void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path, const char* password, const char* language, int nettype, uint64_t restoreHeight, const char* addressString, const char* viewKeyString, const char* spendKeyString, uint64_t kdf_rounds); +extern ADDAPI void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path, const char* password, const char* language, int nettype, uint64_t restoreHeight, const char* addressString, const char* viewKeyString, const char* spendKeyString, uint64_t kdf_rounds); // Wallet * createWalletFromKeys(const std::string &path, // const std::string &password, // const std::string &language, @@ -887,49 +892,49 @@ void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path, // bool newWallet = true, // uint64_t restore_height = 0, // uint64_t kdf_rounds = 1) = 0; -void* MONERO_WalletManager_createWalletFromPolyseed(void* wm_ptr, const char* path, const char* password, +extern ADDAPI void* MONERO_WalletManager_createWalletFromPolyseed(void* wm_ptr, const char* path, const char* password, int nettype, const char* mnemonic, const char* passphrase, bool newWallet, uint64_t restore_height, uint64_t kdf_rounds); // virtual bool closeWallet(Wallet *wallet, bool store = true) = 0; -bool MONERO_WalletManager_closeWallet(void* wm_ptr, void* wallet_ptr, bool store); +extern ADDAPI bool MONERO_WalletManager_closeWallet(void* wm_ptr, void* wallet_ptr, bool store); // virtual bool walletExists(const std::string &path) = 0; -bool MONERO_WalletManager_walletExists(void* wm_ptr, const char* path); +extern ADDAPI bool MONERO_WalletManager_walletExists(void* wm_ptr, const char* path); // virtual bool verifyWalletPassword(const std::string &keys_file_name, const std::string &password, bool no_spend_key, uint64_t kdf_rounds = 1) const = 0; -bool MONERO_WalletManager_verifyWalletPassword(void* wm_ptr, const char* keys_file_name, const char* password, bool no_spend_key, uint64_t kdf_rounds); +extern ADDAPI bool MONERO_WalletManager_verifyWalletPassword(void* wm_ptr, const char* keys_file_name, const char* password, bool no_spend_key, uint64_t kdf_rounds); // virtual bool queryWalletDevice(Wallet::Device& device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds = 1) const = 0; -// bool MONERO_WalletManager_queryWalletDevice(int device_type, const char* keys_file_name, const char* password, uint64_t kdf_rounds); +extern ADDAPI bool MONERO_WalletManager_queryWalletDevice(int device_type, const char* keys_file_name, const char* password, uint64_t kdf_rounds); // virtual std::vector<std::string> findWallets(const std::string &path) = 0; -const char* MONERO_WalletManager_findWallets(void* wm_ptr, const char* path, const char* separator); +extern ADDAPI const char* MONERO_WalletManager_findWallets(void* wm_ptr, const char* path, const char* separator); // virtual std::string errorString() const = 0; -const char* MONERO_WalletManager_errorString(void* wm_ptr); +extern ADDAPI const char* MONERO_WalletManager_errorString(void* wm_ptr); // virtual void setDaemonAddress(const std::string &address) = 0; -void MONERO_WalletManager_setDaemonAddress(void* wm_ptr, const char* address); +extern ADDAPI void MONERO_WalletManager_setDaemonAddress(void* wm_ptr, const char* address); // virtual bool connected(uint32_t *version = NULL) = 0; // virtual uint64_t blockchainHeight() = 0; -uint64_t MONERO_WalletManager_blockchainHeight(void* wm_ptr); +extern ADDAPI uint64_t MONERO_WalletManager_blockchainHeight(void* wm_ptr); // virtual uint64_t blockchainTargetHeight() = 0; -uint64_t MONERO_WalletManager_blockchainTargetHeight(void* wm_ptr); +extern ADDAPI uint64_t MONERO_WalletManager_blockchainTargetHeight(void* wm_ptr); // virtual uint64_t networkDifficulty() = 0; -uint64_t MONERO_WalletManager_networkDifficulty(void* wm_ptr); +extern ADDAPI uint64_t MONERO_WalletManager_networkDifficulty(void* wm_ptr); // virtual double miningHashRate() = 0; -double MONERO_WalletManager_miningHashRate(void* wm_ptr); +extern ADDAPI double MONERO_WalletManager_miningHashRate(void* wm_ptr); // virtual uint64_t blockTarget() = 0; -uint64_t MONERO_WalletManager_blockTarget(void* wm_ptr); +extern ADDAPI uint64_t MONERO_WalletManager_blockTarget(void* wm_ptr); // virtual bool isMining() = 0; -bool MONERO_WalletManager_isMining(void* wm_ptr); +extern ADDAPI bool MONERO_WalletManager_isMining(void* wm_ptr); // virtual bool startMining(const std::string &address, uint32_t threads = 1, bool background_mining = false, bool ignore_battery = true) = 0; -bool MONERO_WalletManager_startMining(void* wm_ptr, const char* address, uint32_t threads, bool backgroundMining, bool ignoreBattery); +extern ADDAPI bool MONERO_WalletManager_startMining(void* wm_ptr, const char* address, uint32_t threads, bool backgroundMining, bool ignoreBattery); // virtual bool stopMining() = 0; -bool MONERO_WalletManager_stopMining(void* wm_ptr, const char* address); +extern ADDAPI bool MONERO_WalletManager_stopMining(void* wm_ptr, const char* address); // virtual std::string resolveOpenAlias(const std::string &address, bool &dnssec_valid) const = 0; -const char* MONERO_WalletManager_resolveOpenAlias(void* wm_ptr, const char* address, bool dnssec_valid); +extern ADDAPI const char* MONERO_WalletManager_resolveOpenAlias(void* wm_ptr, const char* address, bool dnssec_valid); // static std::tuple<bool, std::string, std::string, std::string, std::string> checkUpdates( // const std::string &software, // std::string subdir, // const char *buildtag = nullptr, // const char *current_version = nullptr); // virtual bool setProxy(const std::string &address) = 0; -bool MONERO_WalletManager_setProxy(void* wm_ptr, const char* address); +extern ADDAPI bool MONERO_WalletManager_setProxy(void* wm_ptr, const char* address); // }; int LogLevel_Silent = -1; @@ -954,22 +959,22 @@ int LogLevel_Max = 4; // LogLevel_Max = LogLevel_4 // }; // static WalletManager * getWalletManager(); -void* MONERO_WalletManagerFactory_getWalletManager(); +extern ADDAPI void* MONERO_WalletManagerFactory_getWalletManager(); // static void setLogLevel(int level); -void MONERO_WalletManagerFactory_setLogLevel(int level); +extern ADDAPI void MONERO_WalletManagerFactory_setLogLevel(int level); // static void setLogCategories(const std::string &categories); -void MONERO_WalletManagerFactory_setLogCategories(const char* categories); +extern ADDAPI void MONERO_WalletManagerFactory_setLogCategories(const char* categories); // }; // } -void MONERO_DEBUG_test0(); -bool MONERO_DEBUG_test1(bool x); -int MONERO_DEBUG_test2(int x); -uint64_t MONERO_DEBUG_test3(uint64_t x); -void* MONERO_DEBUG_test4(uint64_t x); -const char* MONERO_DEBUG_test5(); -const char* MONERO_DEBUG_test5_std(); -bool MONERO_DEBUG_isPointerNull(void* wallet_ptr); +extern ADDAPI void MONERO_DEBUG_test0(); +extern ADDAPI bool MONERO_DEBUG_test1(bool x); +extern ADDAPI int MONERO_DEBUG_test2(int x); +extern ADDAPI uint64_t MONERO_DEBUG_test3(uint64_t x); +extern ADDAPI void* MONERO_DEBUG_test4(uint64_t x); +extern ADDAPI const char* MONERO_DEBUG_test5(); +extern ADDAPI const char* MONERO_DEBUG_test5_std(); +extern ADDAPI bool MONERO_DEBUG_isPointerNull(void* wallet_ptr); #ifdef __cplusplus } |
