void WalletLegacy::onTransactionDeleted(ITransfersSubscription* object, const Hash& transactionHash) { std::deque<std::unique_ptr<WalletLegacyEvent>> events; { std::unique_lock<std::mutex> lock(m_cacheMutex); events = m_transactionsCache.onTransactionDeleted(transactionHash); std::unique_ptr<WalletLegacyEvent> actualDepositBalanceUpdated = getActualDepositBalanceChangedEvent(); if (actualDepositBalanceUpdated) { events.push_back(std::move(actualDepositBalanceUpdated)); } std::unique_ptr<WalletLegacyEvent> pendingDepositBalanceUpdated = getPendingDepositBalanceChangedEvent(); if (pendingDepositBalanceUpdated) { events.push_back(std::move(pendingDepositBalanceUpdated)); } } notifyClients(events); }
void WalletLegacy::pushBalanceUpdatedEvents(std::deque<std::unique_ptr<WalletLegacyEvent>>& eventsQueue) { auto actualDepositBalanceUpdated = getActualDepositBalanceChangedEvent(); if (actualDepositBalanceUpdated != nullptr) { eventsQueue.push_back(std::move(actualDepositBalanceUpdated)); } auto pendingDepositBalanceUpdated = getPendingDepositBalanceChangedEvent(); if (pendingDepositBalanceUpdated != nullptr) { eventsQueue.push_back(std::move(pendingDepositBalanceUpdated)); } auto actualBalanceUpdated = getActualBalanceChangedEvent(); if (actualBalanceUpdated != nullptr) { eventsQueue.push_back(std::move(actualBalanceUpdated)); } auto pendingBalanceUpdated = getPendingBalanceChangedEvent(); if (pendingBalanceUpdated != nullptr) { eventsQueue.push_back(std::move(pendingBalanceUpdated)); } }