Async API integration in progress

This commit is contained in:
Ilya Kitaev
2016-07-13 15:24:40 +03:00
parent c027922cb7
commit d9f031ec2a
4 changed files with 88 additions and 9 deletions

View File

@@ -14,6 +14,45 @@ namespace {
}
class WalletListenerImpl : public Bitmonero::WalletListener
{
public:
WalletListenerImpl(Wallet * w)
: m_wallet(w)
{
}
virtual void moneySpent(const std::string &txId, uint64_t amount)
{
// TODO
Q_UNUSED(txId)
Q_UNUSED(amount)
}
virtual void moneyReceived(const std::string &txId, uint64_t amount)
{
// TODO
Q_UNUSED(txId)
Q_UNUSED(amount)
}
virtual void updated()
{
emit m_wallet->updated();
}
// called when wallet refreshed by background thread or explicitly
virtual void refreshed()
{
emit m_wallet->refreshed();
}
private:
Wallet * m_wallet;
};
QString Wallet::getSeed() const
{
@@ -88,6 +127,11 @@ bool Wallet::refresh()
return result;
}
void Wallet::refreshAsync()
{
m_walletImpl->refreshAsync();
}
PendingTransaction *Wallet::createTransaction(const QString &dst_addr, const QString &payment_id,
quint64 amount, quint32 mixin_count,
PendingTransaction::Priority priority)

View File

@@ -77,6 +77,10 @@ public:
//! refreshes the wallet
Q_INVOKABLE bool refresh();
//! refreshes the wallet asynchronously
Q_INVOKABLE void refreshAsync();
//! creates transaction
Q_INVOKABLE PendingTransaction * createTransaction(const QString &dst_addr, const QString &payment_id,
quint64 amount, quint32 mixin_count,
@@ -103,6 +107,10 @@ public:
signals:
void updated();
// emitted when refresh process finished (could take a long time)
// signalling only after we
void refreshed();
private:
Wallet(Bitmonero::Wallet *w, QObject * parent = 0);
@@ -110,6 +118,7 @@ private:
private:
friend class WalletManager;
friend class WalletListenerImpl;
//! libwallet's
Bitmonero::Wallet * m_walletImpl;
// history lifetime managed by wallet;