~ubuntu-branches/ubuntu/quantal/qtmobility/quantal

« back to all changes in this revision

Viewing changes to plugins/organizer/maemo6/qorganizermaemo6.h

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-11-16 16:18:07 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20101116161807-k2dzt2nyse975r3l
Tags: 1.1.0-0ubuntu1
* New upstream release
* Syncronise with Debian, no remaining changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
**
9
9
** $QT_BEGIN_LICENSE:LGPL$
10
10
** Commercial Usage
11
 
** Licensees holding valid Qt Commercial licenses may use this file in
12
 
** accordance with the Qt Solutions Commercial License Agreement provided
13
 
** with the Software or, alternatively, in accordance with the terms
 
11
** Licensees holding valid Qt Commercial licenses may use this file in 
 
12
** accordance with the Qt Commercial License Agreement provided with
 
13
** the Software or, alternatively, in accordance with the terms
14
14
** contained in a written agreement between you and Nokia.
15
15
**
16
16
** GNU Lesser General Public License Usage
33
33
** ensure the GNU General Public License version 3.0 requirements will be
34
34
** met: http://www.gnu.org/copyleft/gpl.html.
35
35
**
36
 
** Please note Third Party Software included with Qt Solutions may impose
37
 
** additional restrictions and it is the user's responsibility to ensure
38
 
** that they have met the licensing requirements of the GPL, LGPL, or Qt
39
 
** Solutions Commercial license and the relevant license of the Third
40
 
** Party Software they are using.
41
 
**
42
36
** If you are unsure which license is appropriate for your use, please
43
37
** contact the sales department at qt-sales@nokia.com.
44
38
** $QT_END_LICENSE$
74
68
#include <extendedcalendar.h>
75
69
 
76
70
#include "qorganizeritem.h"
77
 
#include "qorganizeritemmanager.h"
78
 
#include "qorganizeritemmanagerengine.h"
79
 
#include "qorganizeritemmanagerenginefactory.h"
 
71
#include "qorganizermanager.h"
 
72
#include "qorganizermanagerengine.h"
 
73
#include "qorganizermanagerenginefactory.h"
80
74
#include "qorganizeritemdetaildefinition.h"
81
 
#include "qorganizeritemabstractrequest.h"
 
75
#include "qorganizerabstractrequest.h"
82
76
#include "qorganizeritemchangeset.h"
83
77
 
84
78
QTM_BEGIN_NAMESPACE
87
81
class QOrganizerNote;
88
82
class QOrganizerJournal;
89
83
class QOrganizerItemRecurrence;
90
 
class QOrganizerItemRecurrenceRule;
 
84
class QOrganizerRecurrenceRule;
91
85
QTM_END_NAMESPACE
92
86
 
93
87
QTM_USE_NAMESPACE
94
88
using namespace KCal;
95
89
 
96
 
class QOrganizerItemMaemo6Factory : public QObject, public QOrganizerItemManagerEngineFactory
 
90
class QOrganizerItemMaemo6Factory : public QObject, public QOrganizerManagerEngineFactory
97
91
{
98
92
  Q_OBJECT
99
 
  Q_INTERFACES(QtMobility::QOrganizerItemManagerEngineFactory)
 
93
  Q_INTERFACES(QtMobility::QOrganizerManagerEngineFactory)
100
94
  public:
101
 
    QOrganizerItemManagerEngine* engine(const QMap<QString, QString>& parameters, QOrganizerItemManager::Error*);
 
95
    QOrganizerManagerEngine* engine(const QMap<QString, QString>& parameters, QOrganizerManager::Error*);
102
96
    QString managerName() const;
 
97
    QOrganizerItemEngineLocalId* createItemEngineLocalId() const;
 
98
    QOrganizerCollectionEngineLocalId* createCollectionEngineLocalId() const;
103
99
};
104
100
 
105
101
class QOrganizerItemMaemo6EngineData : public QSharedData
115
111
    {
116
112
    }
117
113
 
118
 
    // key = Incidence.uid();
119
 
    // value = QOrganizerItemLocalId(qHash(key));
120
 
    QMap<QOrganizerItemLocalId, QString> m_QIdToKId;
121
 
 
122
114
    // map of organizeritem type to map of definition name to definitions:
123
115
    mutable QMap<QString, QMap<QString, QOrganizerItemDetailDefinition> > m_definitions;
124
116
 
125
117
    ExtendedCalendar m_calendarBackend;
126
118
};
127
119
 
128
 
class QOrganizerItemMaemo6Engine : public QOrganizerItemManagerEngine
 
120
class QOrganizerItemMaemo6Engine : public QOrganizerManagerEngine
129
121
{
130
122
    Q_OBJECT
131
123
 
137
129
    QMap<QString, QString> managerParameters() const;
138
130
    int managerVersion() const;
139
131
 
140
 
    QList<QOrganizerItem> itemInstances(const QOrganizerItem& generator, const QDateTime& periodStart, const QDateTime& periodEnd, int maxCount, QOrganizerItemManager::Error* error) const;
141
 
    QList<QOrganizerItemLocalId> itemIds(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, QOrganizerItemManager::Error* error) const;
142
 
    QList<QOrganizerItem> items(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, const QOrganizerItemFetchHint& fetchHint, QOrganizerItemManager::Error* error) const;
143
 
    QOrganizerItem item(const QOrganizerItemLocalId& itemId, const QOrganizerItemFetchHint& fetchHint, QOrganizerItemManager::Error* error) const;
 
132
    QList<QOrganizerItem> itemInstances(const QOrganizerItem& generator, const QDateTime& periodStart, const QDateTime& periodEnd, int maxCount, QOrganizerManager::Error* error) const;
 
133
    QList<QOrganizerItemLocalId> itemIds(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, QOrganizerManager::Error* error) const;
 
134
    QList<QOrganizerItem> items(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, const QOrganizerItemFetchHint& fetchHint, QOrganizerManager::Error* error) const;
 
135
    QOrganizerItem item(const QOrganizerItemLocalId& itemId, const QOrganizerItemFetchHint& fetchHint, QOrganizerManager::Error* error) const;
144
136
 
145
 
    bool saveItems(QList<QOrganizerItem>* items, const QOrganizerCollectionLocalId& collectionId, QMap<int, QOrganizerItemManager::Error>* errorMap, QOrganizerItemManager::Error* error);
146
 
    bool saveItem(QOrganizerItem* item, QOrganizerItemManager::Error* error);
147
 
    bool removeItems(const QList<QOrganizerItemLocalId>& itemIds, QMap<int, QOrganizerItemManager::Error>* errorMap, QOrganizerItemManager::Error* error);
 
137
    bool saveItems(QList<QOrganizerItem>* items, const QOrganizerCollectionLocalId& collectionId, QMap<int, QOrganizerManager::Error>* errorMap, QOrganizerManager::Error* error);
 
138
    bool saveItem(QOrganizerItem* item, QOrganizerManager::Error* error);
 
139
    bool removeItems(const QList<QOrganizerItemLocalId>& itemIds, QMap<int, QOrganizerManager::Error>* errorMap, QOrganizerManager::Error* error);
148
140
 
149
141
    /* Definitions - Accessors and Mutators */
150
 
    QMap<QString, QOrganizerItemDetailDefinition> detailDefinitions(const QString& itemType, QOrganizerItemManager::Error* error) const;
151
 
    QOrganizerItemDetailDefinition detailDefinition(const QString& definitionId, const QString& itemType, QOrganizerItemManager::Error* error) const;
152
 
    bool saveDetailDefinition(const QOrganizerItemDetailDefinition& def, const QString& itemType, QOrganizerItemManager::Error* error);
153
 
    bool removeDetailDefinition(const QString& definitionId, const QString& itemType, QOrganizerItemManager::Error* error);
 
142
    QMap<QString, QOrganizerItemDetailDefinition> detailDefinitions(const QString& itemType, QOrganizerManager::Error* error) const;
 
143
    QOrganizerItemDetailDefinition detailDefinition(const QString& definitionId, const QString& itemType, QOrganizerManager::Error* error) const;
 
144
    bool saveDetailDefinition(const QOrganizerItemDetailDefinition& def, const QString& itemType, QOrganizerManager::Error* error);
 
145
    bool removeDetailDefinition(const QString& definitionId, const QString& itemType, QOrganizerManager::Error* error);
154
146
 
155
147
    /* Collections - every item belongs to exactly one collection */
156
 
    QOrganizerCollectionLocalId defaultCollectionId(QOrganizerItemManager::Error* error) const;
157
 
    QList<QOrganizerCollectionLocalId> collectionIds(QOrganizerItemManager::Error* error) const;
158
 
    QList<QOrganizerCollection> collections(const QList<QOrganizerCollectionLocalId>& collectionIds, QOrganizerItemManager::Error* error) const;
159
 
    bool saveCollection(QOrganizerCollection* collection, QOrganizerItemManager::Error* error);
160
 
    bool removeCollection(const QOrganizerCollectionLocalId& collectionId, QOrganizerItemManager::Error* error);
 
148
    QOrganizerCollectionLocalId defaultCollectionId(QOrganizerManager::Error* error) const;
 
149
    QList<QOrganizerCollectionLocalId> collectionIds(QOrganizerManager::Error* error) const;
 
150
    QList<QOrganizerCollection> collections(const QList<QOrganizerCollectionLocalId>& collectionIds, QMap<int, QOrganizerManager::Error>* errorMap, QOrganizerManager::Error* error) const;
 
151
    bool saveCollection(QOrganizerCollection* collection, QOrganizerManager::Error* error);
 
152
    bool removeCollection(const QOrganizerCollectionLocalId& collectionId, QOrganizerManager::Error* error);
161
153
 
162
154
    /* Capabilities reporting */
163
 
    bool hasFeature(QOrganizerItemManager::ManagerFeature feature, const QString& itemType) const;
 
155
    bool hasFeature(QOrganizerManager::ManagerFeature feature, const QString& itemType) const;
164
156
    bool isFilterSupported(const QOrganizerItemFilter& filter) const;
165
 
    QList<QVariant::Type> supportedDataTypes() const;
 
157
    QList<int> supportedDataTypes() const;
166
158
    QStringList supportedItemTypes() const;
167
159
 
168
160
    /* Asynchronous Request Support */
169
 
    void requestDestroyed(QOrganizerItemAbstractRequest* req);
170
 
    bool startRequest(QOrganizerItemAbstractRequest* req);
171
 
    bool cancelRequest(QOrganizerItemAbstractRequest* req);
172
 
    bool waitForRequestFinished(QOrganizerItemAbstractRequest* req, int msecs);
 
161
    void requestDestroyed(QOrganizerAbstractRequest* req);
 
162
    bool startRequest(QOrganizerAbstractRequest* req);
 
163
    bool cancelRequest(QOrganizerAbstractRequest* req);
 
164
    bool waitForRequestFinished(QOrganizerAbstractRequest* req, int msecs);
173
165
 
174
166
private:
175
167
    QOrganizerItemMaemo6Engine();
176
168
    QMap<QString, QMap<QString, QOrganizerItemDetailDefinition> > schemaDefinitions() const;
177
169
    Incidence* incidence(const QOrganizerItemLocalId& itemId) const;
178
 
    Incidence* softSaveItem(QOrganizerItem* item, QOrganizerItemManager::Error* error);
 
170
    Incidence* softSaveItem(QOrganizerItem* item, QOrganizerManager::Error* error);
179
171
    Event* createKEvent(const QOrganizerEvent& note);
180
172
    Todo* createKTodo(const QOrganizerTodo& note);
181
173
    Journal* createKJournal(const QOrganizerJournal& note);
184
176
    void convertQRecurrenceToKRecurrence(const QOrganizerItemRecurrence& qRecurrence,
185
177
            Recurrence* kRecurrence);
186
178
    RecurrenceRule* createKRecurrenceRule(Recurrence* kRecurrence,
187
 
            const QOrganizerItemRecurrenceRule& rrule);
 
179
            const QOrganizerRecurrenceRule& rrule);
188
180
 
189
181
    QOrganizerItemMaemo6EngineData* d;
190
182