32 #ifndef LEDGER_CORE_BLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H 33 #define LEDGER_CORE_BLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H 35 #include <wallet/bitcoin/keychains/BitcoinLikeKeychain.hpp> 36 #include <wallet/bitcoin/synchronizers/BitcoinLikeAccountSynchronizer.hpp> 37 #include <wallet/bitcoin/explorers/BitcoinLikeBlockchainExplorer.hpp> 38 #include <wallet/common/synchronizers/AbstractBlockchainExplorerAccountSynchronizer.h> 39 #include <wallet/pool/WalletPool.hpp> 40 #include <preferences/Preferences.hpp> 41 #include <async/DedicatedContext.hpp> 45 class BitcoinLikeAccount;
47 using BlockchainAccountSynchronizer = AbstractBlockchainExplorerAccountSynchronizer<BitcoinLikeAccount, BitcoinLikeAddress, BitcoinLikeKeychain, BitcoinLikeBlockchainExplorer>;
51 public std::enable_shared_from_this<BlockchainExplorerAccountSynchronizer> {
54 const std::shared_ptr<BitcoinLikeBlockchainExplorer>& explorer);
56 void updateCurrentBlock(std::shared_ptr<AbstractBlockchainExplorerAccountSynchronizer::SynchronizationBuddy> &buddy,
57 const std::shared_ptr<api::ExecutionContext> &context)
override;
58 void updateTransactionsToDrop(soci::session &sql,
59 std::shared_ptr<SynchronizationBuddy> &buddy,
60 const std::string &accountUid)
override;
62 void reset(
const std::shared_ptr<BitcoinLikeAccount>& account,
const std::chrono::system_clock::time_point& toDate)
override;
63 std::shared_ptr<ProgressNotifier<Unit>> synchronize(
const std::shared_ptr<BitcoinLikeAccount>& account)
override;
64 bool isSynchronizing()
const override;
67 std::shared_ptr<BlockchainAccountSynchronizer> getSharedFromThis()
override ;
68 std::shared_ptr<api::ExecutionContext> getSynchronizerContext()
override ;
73 #endif //LEDGER_CORE_BLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H Definition: BlockchainExplorerAccountSynchronizer.h:48
Definition: AbstractBlockchainExplorerAccountSynchronizer.h:87
Definition: BitcoinLikeAccountSynchronizer.hpp:39
Definition: Account.cpp:8
Definition: DedicatedContext.hpp:39