mirror of
https://github.com/wownero/wownero-cpp.git
synced 2026-10-21 09:08:43 +02:00
defined Wallet2ListenerAdapter
This commit is contained in:
@@ -128,9 +128,32 @@ uint64_t MoneroWallet::getRestoreHeight() const {
|
||||
return wallet2->get_refresh_from_block_height();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adapts wallet2 notifications to a public listener.
|
||||
*/
|
||||
struct Wallet2ListenerAdapter : public tools::i_wallet2_callback {
|
||||
|
||||
Wallet2ListenerAdapter(MoneroWalletListener* listener) {
|
||||
this->listener = listener;
|
||||
}
|
||||
|
||||
~Wallet2ListenerAdapter() {
|
||||
|
||||
}
|
||||
|
||||
virtual void on_new_block(uint64_t height, const cryptonote::block& block) {
|
||||
cout << "Wallet2ListenerAdapter.on_new_block()" << endl;
|
||||
throw runtime_error("Not implemented");
|
||||
}
|
||||
|
||||
MoneroWalletListener* listener;
|
||||
};
|
||||
|
||||
void MoneroWallet::setListener(MoneroWalletListener* listener) {
|
||||
cout << "setListener()" << endl;
|
||||
throw runtime_error("Not implemented");
|
||||
this->listener = listener;
|
||||
if (!listener) wallet2->callback(nullptr);
|
||||
else wallet2->callback(new Wallet2ListenerAdapter(listener)); // TODO: is this memory leak when adapter is re-set?
|
||||
}
|
||||
|
||||
MoneroSyncResult MoneroWallet::sync() {
|
||||
|
||||
@@ -251,6 +251,7 @@ namespace monero {
|
||||
// --------------------------------- PRIVATE --------------------------------
|
||||
|
||||
private:
|
||||
tools::wallet2* wallet2; // internal wallet implementation
|
||||
tools::wallet2* wallet2; // internal wallet implementation
|
||||
MoneroWalletListener* listener; // wallet's assigned listener
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user