Buteo Synchronization Framework
SyncCommonDefs.h
1/*
2 * This file is part of buteo-syncfw package
3 *
4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
5 *
6 * Contact: Sateesh Kavuri <sateesh.kavuri@nokia.com>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * version 2.1 as published by the Free Software Foundation.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA
21 *
22 */
23
24#ifndef SYNCCOMMONDEFS_H
25#define SYNCCOMMONDEFS_H
26
27#include <QtCore>
28#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
29#include <QtNetwork/QNetworkConfiguration>
30#endif
31
32#include <QMetaType>
33#include <QDir>
34#include <QStandardPaths>
35
36namespace Sync {
37
38const QString syncConfigDir();
39const QString syncCacheDir(); // deprecated
40
41enum SyncStatus {
42 SYNC_QUEUED = 0,
43 SYNC_STARTED,
44 SYNC_PROGRESS,
45 SYNC_ERROR,
46 SYNC_DONE,
47 SYNC_ABORTED,
48 SYNC_CANCELLED,
49 SYNC_STOPPING,
50 SYNC_NOTPOSSIBLE,
51 SYNC_AUTHENTICATION_FAILURE,
52 SYNC_DATABASE_FAILURE,
53 SYNC_CONNECTION_ERROR,
54 SYNC_SERVER_FAILURE,
55 SYNC_BAD_REQUEST,
56 SYNC_PLUGIN_ERROR,
57 SYNC_PLUGIN_TIMEOUT
58};
59
60// UI needs to display a detailed Progress for the Current ongoing sync
61enum SyncProgressDetail {
62 SYNC_PROGRESS_INITIALISING = 201,
63 SYNC_PROGRESS_SENDING_ITEMS,
64 SYNC_PROGRESS_RECEIVING_ITEMS,
65 SYNC_PROGRESS_FINALISING
66};
67
68enum TransferDatabase {
69 LOCAL_DATABASE = 0,
70 REMOTE_DATABASE
71};
72
73enum TransferType {
74 ITEM_ADDED = 0,
75 ITEM_MODIFIED,
76 ITEM_DELETED,
77 ITEM_ERROR
78};
79
80enum ConnectivityType {
81 CONNECTIVITY_USB,
82 CONNECTIVITY_BT,
83 CONNECTIVITY_INTERNET
84};
85#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
86enum InternetConnectionType {
87 INTERNET_CONNECTION_UNKNOWN = QNetworkConfiguration::BearerUnknown,
88 INTERNET_CONNECTION_ETHERNET = QNetworkConfiguration::BearerEthernet,
89 INTERNET_CONNECTION_WLAN = QNetworkConfiguration::BearerWLAN,
90 INTERNET_CONNECTION_2G = QNetworkConfiguration::Bearer2G,
91 INTERNET_CONNECTION_3G = QNetworkConfiguration::Bearer3G,
92 INTERNET_CONNECTION_4G = QNetworkConfiguration::Bearer4G,
93 INTERNET_CONNECTION_CDMA2000 = QNetworkConfiguration::BearerCDMA2000,
94 INTERNET_CONNECTION_WCDMA = QNetworkConfiguration::BearerWCDMA,
95 INTERNET_CONNECTION_HSPA = QNetworkConfiguration::BearerHSPA,
96 INTERNET_CONNECTION_BLUETOOTH = QNetworkConfiguration::BearerBluetooth,
97 INTERNET_CONNECTION_WIMAX = QNetworkConfiguration::BearerWiMAX,
98 INTERNET_CONNECTION_EVDO = QNetworkConfiguration::BearerEVDO,
99 INTERNET_CONNECTION_LTE = QNetworkConfiguration::BearerLTE
100};
101#endif
102
103// These are values that can be used for the SyncSchedule::interval, to specify sync intervals
104// that should be specially handled (instead of treating them as minute intervals). This allows
105// special intervals to be handled without additional SyncSchedule attributes.
106enum ExtendedSyncInterval : unsigned int {
107 // Sync is scheduled one month after the last successful sync.
108 SYNC_INTERVAL_MONTHLY = 365 * 24 * 60 * 2, // Start the named interval values at an unlikely minute-based interval ((365 * 24 * 60 * 2) = 1051200 minutes = 2 years)
109
110 // Sync is scheduled on the first day of each month.
111 SYNC_INTERVAL_FIRST_DAY_OF_MONTH,
112
113 // Sync is scheduled on the last day of each month.
114 SYNC_INTERVAL_LAST_DAY_OF_MONTH
115};
116
117} // namespace Sync
118
119Q_DECLARE_METATYPE( Sync::SyncStatus );
120Q_DECLARE_METATYPE( Sync::TransferDatabase );
121Q_DECLARE_METATYPE( Sync::TransferType );
122Q_DECLARE_METATYPE( Sync::ConnectivityType );
123
124
125#endif // SYNCCOMMONDEFS_H