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;
80 void notifySyncStateUpdated(
Account account, ISyncStatePtr syncState);
83 QUENTIER_EXPORT ISyncStateStoragePtr
84 newSyncStateStorage(QObject * parent =
nullptr);
88 #endif // LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_STATE_STORAGE_H