~phablet-team/sync-monitor/trunk

« back to all changes in this revision

Viewing changes to src/sync-configure.h

  • Committer: Bileto Bot
  • Author(s): Renato Araujo Oliveira Filho
  • Date: 2016-07-01 02:14:41 UTC
  • mfrom: (37.3.61 sync-individual-sources)
  • Revision ID: ci-train-bot@canonical.com-20160701021441-su9ubhybvttesfqt
Remove syncevolution account config files if the account get removed.
Avoid create extra sources for accounts on syncevolution config.
Create a config for each google calendar.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
#include <Accounts/Account>
26
26
 
 
27
#include "dbustypes.h"
 
28
 
 
29
 
 
30
 
 
31
class SyncAccount;
27
32
class SyncEvolutionSessionProxy;
28
33
 
29
34
class SyncConfigure : public QObject
30
35
{
31
36
    Q_OBJECT
32
37
public:
33
 
    SyncConfigure(Accounts::Account *account,
34
 
                  QSettings *settings,
 
38
    SyncConfigure(SyncAccount *account,
 
39
                  const QSettings *settings,
35
40
                  QObject *parent = 0);
36
41
    ~SyncConfigure();
37
42
 
38
 
    void configure(const QString &serviceName, const QString &syncMode);
39
 
    void configureAll(const QString &syncMode);
40
 
    QString serviceName() const;
 
43
    Accounts::AccountId accountId() const;
 
44
    void configure();
 
45
 
 
46
 
 
47
    static QString accountSessionName(Accounts::Account *account);
 
48
    static QString normalizeDBName(const QString &name);
 
49
    static QString formatSourceName(uint accountId, const QString &remoteId);
 
50
    static void dumpMap(const QStringMultiMap &map);
 
51
    static void dumpMap(const QStringMap &map);
 
52
    static void removeAccountSourceConfig(Accounts::Account *account, const QString &sourceName);
 
53
    static void removeAccountConfig(uint accountId);
41
54
 
42
55
Q_SIGNALS:
43
 
    void done();
44
 
    void error();
 
56
    void done(const QStringList &services);
 
57
    void error(int error);
 
58
    void sourceRemoved(const QString &sourceName);
45
59
 
46
 
public Q_SLOTS:
47
 
    void onSessionStatusChanged(const QString &newStatus);
48
 
    void onSessionError(uint error);
 
60
private Q_SLOTS:
 
61
    void onRemoteSourcesAvailable(const QArrayOfDatabases &sources, int error);
49
62
 
50
63
private:
51
 
    Accounts::Account *m_account;
52
 
    QMap<QString, SyncEvolutionSessionProxy*> m_sessions;
53
 
    QSettings *m_settings;
54
 
    QStringList m_services;
55
 
    QString m_originalServiceName;
56
 
    QString m_syncMode;
57
 
 
58
 
    void continueConfigure();
59
 
    void configureServices(const QString &syncMode);
60
 
    void configureService(const QString &serviceName, const QString &syncMode);
61
 
    void removeService(const QString &serviceName);
62
 
    bool configTarget(const QString &targetName, const QString &serviceName);
63
 
    bool configSync(const QString &targetName, const QString &serviceName, const QString &syncMode);
64
 
    bool changeSyncMode(const QString &targetName, const QString &serviceName, const QString &syncMode);
 
64
    SyncAccount *m_account;
 
65
    QMap<QString, QArrayOfDatabases> m_remoteDatabasesByService;
 
66
    QMap<SyncEvolutionSessionProxy*, QStringList> m_peers;
 
67
    const QSettings *m_settings;
 
68
 
 
69
    void fetchRemoteCalendars();
 
70
    void fetchRemoteCalendarsFromSession(SyncEvolutionSessionProxy *session);
 
71
    void configurePeer(const QStringList &services);
 
72
    void continuePeerConfig(SyncEvolutionSessionProxy *session, const QStringList &services);
 
73
    void checkSyncConfig(SyncEvolutionSessionProxy *session,
 
74
                         const QString &peerName,
 
75
                         const QString &serviceName,
 
76
                         const QString &localDbId);
 
77
    bool createSyncConfig(SyncEvolutionSessionProxy *session, const QString &configName, const QString &peerName, const QString &serviceName, const QString &localDbId);
 
78
    QString registerDatabase(SyncEvolutionSessionProxy *session, const QString &localDatabaseName, const QString &localDatabaseId);
 
79
 
 
80
    static bool updateConfig(QStringMultiMap &config, const QString &source, const QString &key, const QString &value);
 
81
    static bool removeConfigDir(const QString &dirPath);
65
82
};
66
83
 
67
84
#endif