summaryrefslogtreecommitdiff
path: root/monero_libwallet2_api_c/src
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2025-05-08 13:15:39 +0200
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2025-05-08 13:15:39 +0200
commitfbd21359f3b325466087c665035f22ff55b36f68 (patch)
treec09d687e528e934be99de76754a109cdf5769a83 /monero_libwallet2_api_c/src
parenta479a569bc25dd1e9701436404a46f0f509096a4 (diff)
feat: callback-based ledger connection
Diffstat (limited to 'monero_libwallet2_api_c/src')
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp55
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h19
2 files changed, 38 insertions, 36 deletions
diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
index 19192cf..aa08270 100644
--- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
+++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
@@ -2102,62 +2102,63 @@ uint64_t MONERO_Wallet_getBytesSent(void* wallet_ptr) {
DEBUG_END()
}
-bool MONERO_Wallet_getStateIsConnected(void* wallet_ptr) {
+bool MONERO_Wallet_getStateIsConnected() {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getStateIsConnected();
+ return Monero::Wallet::getStateIsConnected();
DEBUG_END()
}
-unsigned char* MONERO_Wallet_getSendToDevice(void* wallet_ptr) {
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getSendToDevice();
+unsigned char* MONERO_Wallet_getSendToDevice() {
+ DEBUG_START()
+ return Monero::Wallet::getSendToDevice();
+ DEBUG_END()
}
-size_t MONERO_Wallet_getSendToDeviceLength(void* wallet_ptr) {
+size_t MONERO_Wallet_getSendToDeviceLength() {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getSendToDeviceLength();
+ return Monero::Wallet::getSendToDeviceLength();
DEBUG_END()
}
-unsigned char* MONERO_Wallet_getReceivedFromDevice(void* wallet_ptr) {
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getReceivedFromDevice();
+unsigned char* MONERO_Wallet_getReceivedFromDevice() {
+ DEBUG_START()
+ return Monero::Wallet::getReceivedFromDevice();
+ DEBUG_END()
}
-size_t MONERO_Wallet_getReceivedFromDeviceLength(void* wallet_ptr) {
+size_t MONERO_Wallet_getReceivedFromDeviceLength() {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getReceivedFromDeviceLength();
+ return Monero::Wallet::getReceivedFromDeviceLength();
DEBUG_END()
}
-bool MONERO_Wallet_getWaitsForDeviceSend(void* wallet_ptr) {
+bool MONERO_Wallet_getWaitsForDeviceSend() {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getWaitsForDeviceSend();
+ return Monero::Wallet::getWaitsForDeviceSend();
DEBUG_END()
}
-bool MONERO_Wallet_getWaitsForDeviceReceive(void* wallet_ptr) {
+bool MONERO_Wallet_getWaitsForDeviceReceive() {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->getWaitsForDeviceReceive();
+ return Monero::Wallet::getWaitsForDeviceReceive();
DEBUG_END()
}
-void MONERO_Wallet_setDeviceReceivedData(void* wallet_ptr, unsigned char* data, size_t len) {
+void MONERO_Wallet_setDeviceReceivedData(unsigned char* data, size_t len) {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->setDeviceReceivedData(data, len);
+ Monero::Wallet::setDeviceReceivedData(data, len);
DEBUG_END()
}
-void MONERO_Wallet_setDeviceSendData(void* wallet_ptr, unsigned char* data, size_t len) {
+void MONERO_Wallet_setDeviceSendData(unsigned char* data, size_t len) {
DEBUG_START()
- Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
- return wallet->setDeviceSendData(data, len);
+ Monero::Wallet::setDeviceSendData(data, len);
+ DEBUG_END()
+}
+
+void MONERO_Wallet_setLedgerCallback(int (*sendToLedgerDevice)(unsigned char *command, unsigned int cmd_len)) {
+ DEBUG_START()
+ Monero::Wallet::setLedgerCallback(sendToLedgerDevice);
DEBUG_END()
}
diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
index 17c647c..f5fc460 100644
--- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
+++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
@@ -832,15 +832,16 @@ extern ADDAPI uint64_t MONERO_Wallet_getBytesReceived(void* wallet_ptr);
// virtual uint64_t getBytesSent() = 0;
extern ADDAPI uint64_t MONERO_Wallet_getBytesSent(void* wallet_ptr);
// HIDAPI_DUMMY
-extern ADDAPI bool MONERO_Wallet_getStateIsConnected(void* wallet_ptr);
-extern ADDAPI unsigned char* MONERO_Wallet_getSendToDevice(void* wallet_ptr);
-extern ADDAPI size_t MONERO_Wallet_getSendToDeviceLength(void* wallet_ptr);
-extern ADDAPI unsigned char* MONERO_Wallet_getReceivedFromDevice(void* wallet_ptr);
-extern ADDAPI size_t MONERO_Wallet_getReceivedFromDeviceLength(void* wallet_ptr);
-extern ADDAPI bool MONERO_Wallet_getWaitsForDeviceSend(void* wallet_ptr);
-extern ADDAPI bool MONERO_Wallet_getWaitsForDeviceReceive(void* wallet_ptr);
-extern ADDAPI void MONERO_Wallet_setDeviceReceivedData(void* wallet_ptr, unsigned char* data, size_t len);
-extern ADDAPI void MONERO_Wallet_setDeviceSendData(void* wallet_ptr, unsigned char* data, size_t len);
+extern ADDAPI bool MONERO_Wallet_getStateIsConnected();
+extern ADDAPI unsigned char* MONERO_Wallet_getSendToDevice();
+extern ADDAPI size_t MONERO_Wallet_getSendToDeviceLength();
+extern ADDAPI unsigned char* MONERO_Wallet_getReceivedFromDevice();
+extern ADDAPI size_t MONERO_Wallet_getReceivedFromDeviceLength();
+extern ADDAPI bool MONERO_Wallet_getWaitsForDeviceSend();
+extern ADDAPI bool MONERO_Wallet_getWaitsForDeviceReceive();
+extern ADDAPI void MONERO_Wallet_setDeviceReceivedData(unsigned char* data, size_t len);
+extern ADDAPI void MONERO_Wallet_setDeviceSendData(unsigned char* data, size_t len);
+extern ADDAPI void MONERO_Wallet_setLedgerCallback(int (*sendToLedgerDevice)(unsigned char *command, unsigned int cmd_len));
// };
// struct WalletManager