28#include "SyncDBusInterface.h"
30#include "StorageBooker.h"
31#include "SyncScheduler.h"
32#include "SyncBackup.h"
33#include "SyncOnChange.h"
34#include "SyncOnChangeScheduler.h"
36#include "SyncCommonDefs.h"
37#include "ProfileManager.h"
38#include "PluginManager.h"
39#include "PluginCbInterface.h"
40#include "ClientPlugin.h"
44#include <QCoreApplication>
47#include <QDBusInterface>
48#include <QScopedPointer>
56class ServerPluginRunner;
58class TransportTracker;
110 virtual QString
getValue(
const QString &aAddress,
const QString &aKey);
118 virtual bool startSync(QString aProfileName);
121 virtual void abortSync(QString aProfileName);
139 virtual bool setSyncSchedule(QString aProfileId, QString aScheduleAsXml);
142 virtual bool saveSyncResults(QString aProfileId, QString aSyncResults);
169 virtual QString
syncProfile(
const QString &aProfileId);
170 virtual QStringList syncProfilesByKey(
const QString &aKey,
const QString &aValue);
171 virtual QStringList syncProfilesByType(
const QString &aType);
172 virtual QStringList profilesByType(
const QString &aType)
override;
193 void start(
unsigned int aAccountId);
199 void stop(
unsigned int aAccountId);
220 int status(
unsigned int aAccountId,
int &aFailedReason, qlonglong &aPrevSyncTime, qlonglong &aNextSyncTime);
241 void syncDone(
const QString &aProfileName);
249 void onStorageReleased();
251 void onTransferProgress(
const QString &aProfileName,
252 Sync::TransferDatabase aDatabase, Sync::TransferType aType,
253 const QString &aMimeType,
int aCommittedItems);
255 void onSessionFinished(
const QString &aProfileName,
256 Sync::SyncStatus aStatus,
const QString &aMessage,
259 void onStorageAccquired(
const QString &aProfileName,
const QString &aMimeType);
261 void onSyncProgressDetail(
const QString &aProfileName,
int aProgressDetail);
265 void onNewSession(
const QString &aDestination);
267 void slotProfileChanged(QString aProfileName,
int aChangeType, QString aProfileAsXml);
273 void startServer(
const QString &aProfileName);
279 void stopServer(
const QString &aProfileName);
281 void onNetworkStateChanged(
bool aState, Sync::InternetConnectionType type);
289 void enableSOCSlot(
const QString &aProfileName);
295 void reschedule(
const QString &aProfileName);
304 void slotSyncStatus(QString aProfileName,
int aStatus,
305 QString aMessage,
int aMoreDetails);
311 void removeScheduledSync(
const QString &aProfileName);
318 void reportExternalSyncStatus(
const QString &aProfileName,
bool force);
321 void profileChangeTriggerTimeout();
324 bool startSync(
const QString &aProfileName,
bool aScheduled);
339 bool startNextSync();
346 void cleanupSession(
SyncSession *aSession, Sync::SyncStatus aStatus);
352 void startServers(
bool resume =
false);
358 void stopServers(
bool suspend =
false);
363 void backupRestoreStarts();
368 void backupRestoreFinished();
373 void initializeScheduler();
375 bool isBackupRestoreInProgress();
382 bool cleanupProfile(
const QString &profileId);
384 bool clientProfileActive(
const QString &clientProfileName);
391 void removeExternalSyncStatus(
const SyncProfile *aProfile);
397 bool acceptScheduledSync(
bool aConnected, Sync::InternetConnectionType aType,
SyncProfile *profile)
const;
406 void reportExternalSyncStatus(
const SyncProfile *aProfile,
bool force =
false);
432 void saveProfileCounter(
const SyncProfile *aProfile);
451 QTimer iProfileChangeTriggerTimer;
453#ifdef SYNCFW_UNIT_TESTS
454 friend class SynchronizerTest;
457 QDBusInterface *iSyncUIInterface;
458 _GSettings *iSettings;
459 BatteryInfo *iBatteryInfo;
Helper Class towards Accounts::Manager and various SSO related operations.
Definition AccountsHelper.h:42
Class for managing network sessions.
Definition NetworkManager.h:43
Interface which client and server plugins can use to communicate with synchronization daemon.
Definition PluginCbInterface.h:39
Manages plugins.
Definition PluginManager.h:56
ProfileManager is responsible for storing and retrieving the profiles.
Definition ProfileManager.h:46
This class represents a single profile, a collection of settings or data releated to some entity.
Definition Profile.h:53
Keeps track of which server plug-ins should be enabled.
Definition ServerActivator.h:48
A helper class for managing storage reservations.
Definition StorageBooker.h:37
Base class for storage plugins.
Definition StoragePlugin.h:39
Handles Sync requirements towards Backup.
Definition SyncBackup.h:38
Defines a D-Bus interface for the sync daemon.
Definition msyncd/SyncDBusInterface.h:42
Definition SyncOnChangeScheduler.h:15
this class initiates a sync if there are changes in storage(s) it's asked to monitor
Definition SyncOnChange.h:19
Base class for client and server plugins.
Definition SyncPluginBase.h:46
A top level synchronization profile.
Definition SyncProfile.h:49
Class for queuing sync sessions.
Definition SyncQueue.h:38
MinorCode
enum value
Definition SyncResults.h:89
SyncScheduler Object to be used to set Schedule via the framework.
Definition SyncScheduler.h:55
Class representing a single sync session.
Definition SyncSession.h:44
The main entry point to the synchronization framework.
Definition synchronizer.h:69
virtual void abortSync(QString aProfileName)
Definition synchronizer.cpp:785
virtual void releaseStorages(QStringList aStorageNames)
Definition synchronizer.cpp:951
virtual Profile * getSyncProfileByRemoteAddress(const QString &aAddress)
Definition synchronizer.cpp:1870
virtual QString createSyncProfileForAccount(uint aAccountId)
Definition synchronizer.cpp:375
virtual ~Synchronizer()
Destructor.
Definition synchronizer.cpp:111
virtual QStringList allVisibleSyncProfiles()
Gets all visible sync profiles.
Definition synchronizer.cpp:1742
void syncDone(const QString &aProfileName)
emit this signal when the sync session is completed, this is useful when the session status is not im...
Definition moc_synchronizer.cpp:434
void restoreFinished()
Called when backup is restored.
Definition synchronizer.cpp:1604
bool initialize()
registers the dbus service and creates handlers for various tasks of the synchronizer
Definition synchronizer.cpp:120
bool startScheduledSync(QString aProfileName)
Called starts a schedule sync.
Definition synchronizer.cpp:294
void stop(unsigned int aAccountId)
Stops sync for all profiles matching the given account ID.
Definition synchronizer.cpp:1628
void backupStarts()
Called when backup starts.
Definition synchronizer.cpp:1583
void restoreStarts()
Called when starting to restore a backup.
Definition synchronizer.cpp:1597
void close()
stops the daemon and unregisters the dbus object
Definition synchronizer.cpp:246
virtual void destroyStorage(StoragePlugin *aStorage)
Definition synchronizer.cpp:1078
virtual bool isConnectivityAvailable(Sync::ConnectivityType aType)
Definition synchronizer.cpp:1085
int status(unsigned int aAccountId, int &aFailedReason, qlonglong &aPrevSyncTime, qlonglong &aNextSyncTime)
Returns the status of the sync for the given account Id.
Definition synchronizer.cpp:1639
void isSyncedExternally(unsigned int aAccountId, const QString aClientProfileName)
Queries the sync externally status of a given account, 'syncedExternallyStatus' signal is emitted wit...
Definition synchronizer.cpp:2031
void storageReleased()
emitted by releaseStorages call
Definition moc_synchronizer.cpp:428
virtual QString getLastSyncResult(const QString &aProfileId)
To get lastSyncResult.
Definition synchronizer.cpp:1718
virtual QString getValue(const QString &aAddress, const QString &aKey)
Definition synchronizer.cpp:1890
virtual StoragePlugin * createStorage(const QString &aPluginName)
Definition synchronizer.cpp:1042
virtual bool startSync(QString aProfileName)
Definition synchronizer.cpp:286
virtual QString syncProfile(const QString &aProfileId)
Gets a sync profile.
Definition synchronizer.cpp:1762
virtual bool removeProfile(QString aProfileAsXml)
Definition synchronizer.cpp:876
void backupFinished()
Called when backup is completed.
Definition synchronizer.cpp:1590
QList< unsigned int > syncingAccounts()
Returns the list of account IDs for which sync is ongoing.
Definition synchronizer.cpp:1689
virtual bool updateProfile(QString aProfileAsXml)
Definition synchronizer.cpp:894
virtual bool requestStorages(QStringList aStorageNames)
Definition synchronizer.cpp:944
virtual bool requestStorage(const QString &aStorageName, const SyncPluginBase *aCaller)
Definition synchronizer.cpp:1024
virtual QStringList runningSyncs()
Definition synchronizer.cpp:959
virtual void releaseStorage(const QString &aStorageName, const SyncPluginBase *aCaller)
Definition synchronizer.cpp:1033
virtual bool setSyncSchedule(QString aProfileId, QString aScheduleAsXml)
Definition synchronizer.cpp:351
virtual bool saveSyncResults(QString aProfileId, QString aSyncResults)
Definition synchronizer.cpp:361
virtual bool getBackUpRestoreState()
Called to get the current backup/restore state.
Definition synchronizer.cpp:1611
Class for tracking transport states.
Definition TransportTracker.h:50
Definition SyncBackupAdaptor.h:40
Definition SyncBackupAdaptor.h:41