Buteo Synchronization Framework
SyncOnChange.h
1#ifndef SYNCONCHANGE_H
2#define SYNCONCHANGE_H
3
4#include <QObject>
5#include <QHash>
6#include <QStringList>
7
8namespace Buteo {
9
10class SyncProfile;
11class StorageChangeNotifier;
12class PluginManager;
13class SyncOnChangeScheduler;
14
18class SyncOnChange : public QObject
19{
20 Q_OBJECT
21
22public:
26
30
45 bool enable(const QHash<QString, QList<SyncProfile *> > &aSOCStorageMap,
46 SyncOnChangeScheduler *aSOCScheduler,
47 PluginManager *aPluginManager, QStringList &aFailedStorages);
48
55 void enable();
56
60 void disable();
61
64 void disableNext();
65
71 void addProfile(const QString &aStorageName, SyncProfile *aProfile);
72
73public Q_SLOTS:
76 void sync(QString aStorageName);
77
78private:
82 void cleanup(const QString &aStorageName);
83
88 QStringList getSOCStorageNames();
89
90 StorageChangeNotifier *iStorageChangeNotifier;
91 QHash<QString, QList<SyncProfile *> > iSOCStorageMap;
92 SyncOnChangeScheduler *iSOCScheduler;
93};
94
95}
96
97#endif
Manages plugins.
Definition PluginManager.h:56
Notifies about changes in storages that it's asked to monitor.
Definition StorageChangeNotifier.h:16
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
void addProfile(const QString &aStorageName, SyncProfile *aProfile)
adds a profile to the list of profiles interested in soc for a specific storage
Definition SyncOnChange.cpp:124
void disableNext()
Note the next change, and disable SOC if that happens.
Definition SyncOnChange.cpp:77
~SyncOnChange()
destructor
Definition SyncOnChange.cpp:16
void disable()
disable sync on change immediately, i.e stop listening to change notifiers
Definition SyncOnChange.cpp:71
void enable()
Definition SyncOnChange.cpp:56
SyncOnChange()
constructor
Definition SyncOnChange.cpp:9
void sync(QString aStorageName)
Definition SyncOnChange.cpp:110
A top level synchronization profile.
Definition SyncProfile.h:49
Definition SyncBackupAdaptor.h:40