19 #ifndef LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_STATE_STORAGE_H
20 #define LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_STATE_STORAGE_H
22 #include <quentier/synchronization/ForwardDeclarations.h>
23 #include <quentier/types/Account.h>
24 #include <quentier/utility/Linkage.h>
26 #include <qt5qevercloud/QEverCloud.h>
52 virtual qint32 userDataUpdateCount()
const = 0;
53 virtual qevercloud::Timestamp userDataLastSyncTime()
const = 0;
54 virtual QHash<QString, qint32> linkedNotebookUpdateCounts()
const = 0;
56 virtual QHash<QString, qevercloud::Timestamp>
57 linkedNotebookLastSyncTimes()
const = 0;
59 virtual QTextStream & print(QTextStream & strm)
const override;
62 using ISyncStatePtr = std::shared_ptr<ISyncState>;
69 virtual ISyncStatePtr getSyncState(
const Account & account) = 0;
71 virtual void setSyncState(
72 const Account & account, ISyncStatePtr syncState) = 0;
83 QUENTIER_EXPORT ISyncStateStoragePtr
84 newSyncStateStorage(QObject * parent =
nullptr);
The Account class encapsulates some details about the account: its name, whether it is local or synch...
Definition: Account.h:39
The ISyncState interface provides accessory methods to determine the sync state for the account.
Definition: ISyncStateStorage.h:50
The ISyncStateStorage interface represents the interface of a class which stores sync state for given...
Definition: ISyncStateStorage.h:42
void notifySyncStateUpdated(Account account, ISyncStatePtr syncState)
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition: Printable.h:38