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;
83QUENTIER_EXPORT ISyncStateStoragePtr
84newSyncStateStorage(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