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

« back to all changes in this revision

Viewing changes to plugins/organizer/skeleton/qorganizerskeleton_p.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$
71
65
#include <QObject>
72
66
 
73
67
#include "qorganizeritem.h"
74
 
#include "qorganizeritemmanager.h"
75
 
#include "qorganizeritemmanagerengine.h"
76
 
#include "qorganizeritemmanagerenginefactory.h"
 
68
#include "qorganizermanager.h"
 
69
#include "qorganizermanagerengine.h"
 
70
#include "qorganizermanagerenginefactory.h"
77
71
#include "qorganizeritemdetaildefinition.h"
78
 
#include "qorganizeritemabstractrequest.h"
 
72
#include "qorganizerabstractrequest.h"
79
73
#include "qorganizeritemchangeset.h"
 
74
#include "qorganizeritemengineid.h"
 
75
#include "qorganizercollectionengineid.h"
80
76
 
81
77
QTM_USE_NAMESPACE
82
78
 
83
 
class QOrganizerItemSkeletonFactory : public QObject, public QOrganizerItemManagerEngineFactory
 
79
class QOrganizerItemSkeletonFactory : public QObject, public QOrganizerManagerEngineFactory
84
80
{
85
81
  Q_OBJECT
86
 
  Q_INTERFACES(QtMobility::QOrganizerItemManagerEngineFactory)
 
82
  Q_INTERFACES(QtMobility::QOrganizerManagerEngineFactory)
87
83
  public:
88
 
    QOrganizerItemManagerEngine* engine(const QMap<QString, QString>& parameters, QOrganizerItemManager::Error*);
 
84
    QOrganizerManagerEngine* engine(const QMap<QString, QString>& parameters, QOrganizerManager::Error*);
 
85
    QOrganizerItemEngineId* createItemEngineId(const QMap<QString, QString>& parameters, const QString& idString) const;
 
86
    QOrganizerCollectionEngineId* createCollectionEngineId(const QMap<QString, QString>& parameters, const QString& idString) const;
89
87
    QString managerName() const;
90
88
};
91
89
 
 
90
class QOrganizerCollectionSkeletonEngineId : public QOrganizerCollectionEngineId
 
91
{
 
92
public:
 
93
    QOrganizerCollectionSkeletonEngineId();
 
94
    QOrganizerCollectionSkeletonEngineId(quint32 collectionId);
 
95
    ~QOrganizerCollectionSkeletonEngineId();
 
96
    QOrganizerCollectionSkeletonEngineId(const QOrganizerCollectionSkeletonEngineId& other);
 
97
 
 
98
    bool isEqualTo(const QOrganizerCollectionEngineId* other) const;
 
99
    bool isLessThan(const QOrganizerCollectionEngineId* other) const;
 
100
 
 
101
    QString managerUri() const;
 
102
    QOrganizerCollectionEngineId* clone() const;
 
103
 
 
104
    QString toString() const;
 
105
 
 
106
#ifndef QT_NO_DEBUG_STREAM
 
107
    QDebug& debugStreamOut(QDebug& dbg) const;
 
108
#endif
 
109
    uint hash() const;
 
110
 
 
111
    // data members:
 
112
    // Your backend can use whatever it likes as an id internally.
 
113
    // In this example, we use just a single quint32, but you can
 
114
    // use any datatype you need to (filename string, etc).
 
115
    quint32 m_collectionId;
 
116
};
 
117
 
 
118
class QOrganizerItemSkeletonEngineId : public QOrganizerItemEngineId
 
119
{
 
120
public:
 
121
    QOrganizerItemSkeletonEngineId();
 
122
    QOrganizerItemSkeletonEngineId(quint32 itemId);
 
123
    ~QOrganizerItemSkeletonEngineId();
 
124
    QOrganizerItemSkeletonEngineId(const QOrganizerItemSkeletonEngineId& other);
 
125
 
 
126
    bool isEqualTo(const QOrganizerItemEngineId* other) const;
 
127
    bool isLessThan(const QOrganizerItemEngineId* other) const;
 
128
 
 
129
    QString managerUri() const;
 
130
    QOrganizerItemEngineId* clone() const;
 
131
 
 
132
    QString toString() const;
 
133
 
 
134
#ifndef QT_NO_DEBUG_STREAM
 
135
    QDebug& debugStreamOut(QDebug& dbg) const;
 
136
#endif
 
137
    uint hash() const;
 
138
 
 
139
    // data members:
 
140
    // Your backend can use whatever it likes as an id internally.
 
141
    // In this example, we use just a single quint32, but you can
 
142
    // use a pair of ints (one for collectionId, one for itemId)
 
143
    // or any other information (uuid string, etc).
 
144
    quint32 m_itemId;
 
145
};
 
146
 
92
147
class QOrganizerItemSkeletonEngineData : public QSharedData
93
148
{
94
149
public:
107
162
    }
108
163
};
109
164
 
110
 
class QOrganizerItemSkeletonEngine : public QOrganizerItemManagerEngine
 
165
class QOrganizerItemSkeletonEngine : public QOrganizerManagerEngine
111
166
{
112
167
    Q_OBJECT
113
168
 
121
176
    QMap<QString, QString> managerParameters() const;
122
177
    int managerVersion() const;
123
178
 
124
 
    QList<QOrganizerItem> itemInstances(const QOrganizerItem& generator, const QDateTime& periodStart, const QDateTime& periodEnd, int maxCount, QOrganizerItemManager::Error* error) const;
125
 
    QList<QOrganizerItemLocalId> itemIds(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, QOrganizerItemManager::Error* error) const;
126
 
    QList<QOrganizerItem> items(const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, const QOrganizerItemFetchHint& fetchHint, QOrganizerItemManager::Error* error) const;
127
 
    QOrganizerItem item(const QOrganizerItemLocalId& itemId, const QOrganizerItemFetchHint& fetchHint, QOrganizerItemManager::Error* error) const;
 
179
    QList<QOrganizerItem> itemOccurrences(const QOrganizerItem& parentItem, const QDateTime& periodStart, const QDateTime& periodEnd, int maxCount, const QOrganizerItemFetchHint& fetchHint, QOrganizerManager::Error* error) const;
 
180
    QList<QOrganizerItemId> itemIds(const QDateTime& startDate, const QDateTime& endDate, const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, QOrganizerManager::Error* error) const;
 
181
    QList<QOrganizerItem> items(const QDateTime& startDate, const QDateTime& endDate, const QOrganizerItemFilter& filter, const QList<QOrganizerItemSortOrder>& sortOrders, const QOrganizerItemFetchHint& fetchHint, QOrganizerManager::Error* error) const;
 
182
    QOrganizerItem item(const QOrganizerItemId& itemId, const QOrganizerItemFetchHint& fetchHint, QOrganizerManager::Error* error) const;
128
183
 
129
 
    bool saveItems(QList<QOrganizerItem>* items, const QOrganizerCollectionLocalId& collectionId, QMap<int, QOrganizerItemManager::Error>* errorMap, QOrganizerItemManager::Error* error);
130
 
    bool removeItems(const QList<QOrganizerItemLocalId>& itemIds, QMap<int, QOrganizerItemManager::Error>* errorMap, QOrganizerItemManager::Error* error);
 
184
    bool saveItems(QList<QOrganizerItem>* items, QMap<int, QOrganizerManager::Error>* errorMap, QOrganizerManager::Error* error);
 
185
    bool removeItems(const QList<QOrganizerItemId>& itemIds, QMap<int, QOrganizerManager::Error>* errorMap, QOrganizerManager::Error* error);
131
186
 
132
187
    /* Definitions - Accessors and Mutators */
133
 
    QMap<QString, QOrganizerItemDetailDefinition> detailDefinitions(const QString& itemType, QOrganizerItemManager::Error* error) const;
134
 
    QOrganizerItemDetailDefinition detailDefinition(const QString& definitionId, const QString& itemType, QOrganizerItemManager::Error* error) const;
135
 
    bool saveDetailDefinition(const QOrganizerItemDetailDefinition& def, const QString& itemType, QOrganizerItemManager::Error* error);
136
 
    bool removeDetailDefinition(const QString& definitionId, const QString& itemType, QOrganizerItemManager::Error* error);
 
188
    QMap<QString, QOrganizerItemDetailDefinition> detailDefinitions(const QString& itemType, QOrganizerManager::Error* error) const;
 
189
    QOrganizerItemDetailDefinition detailDefinition(const QString& definitionId, const QString& itemType, QOrganizerManager::Error* error) const;
 
190
    bool saveDetailDefinition(const QOrganizerItemDetailDefinition& def, const QString& itemType, QOrganizerManager::Error* error);
 
191
    bool removeDetailDefinition(const QString& definitionId, const QString& itemType, QOrganizerManager::Error* error);
137
192
 
138
193
    /* Collections - every item belongs to exactly one collection */
139
 
    QOrganizerCollectionLocalId defaultCollectionId(QOrganizerItemManager::Error* error) const;
140
 
    QList<QOrganizerCollectionLocalId> collectionIds(QOrganizerItemManager::Error* error) const;
141
 
    QList<QOrganizerCollection> collections(const QList<QOrganizerCollectionLocalId>& collectionIds, QOrganizerItemManager::Error* error) const;
142
 
    bool saveCollection(QOrganizerCollection* collection, QOrganizerItemManager::Error* error);
143
 
    bool removeCollection(const QOrganizerCollectionLocalId& collectionId, QOrganizerItemManager::Error* error);
 
194
    QOrganizerCollection defaultCollection(QOrganizerManager::Error* error) const;
 
195
    QOrganizerCollection collection(const QOrganizerCollectionId& collectionId, QOrganizerManager::Error* error) const;
 
196
    QList<QOrganizerCollection> collections(QOrganizerManager::Error* error) const;
 
197
    bool saveCollection(QOrganizerCollection* collection, QOrganizerManager::Error* error);
 
198
    bool removeCollection(const QOrganizerCollectionId& collectionId, QOrganizerManager::Error* error);
144
199
 
145
200
    /* Capabilities reporting */
146
 
    bool hasFeature(QOrganizerItemManager::ManagerFeature feature, const QString& itemType) const;
 
201
    bool hasFeature(QOrganizerManager::ManagerFeature feature, const QString& itemType) const;
147
202
    bool isFilterSupported(const QOrganizerItemFilter& filter) const;
148
 
    QList<QVariant::Type> supportedDataTypes() const;
 
203
    QList<int> supportedDataTypes() const;
149
204
    QStringList supportedItemTypes() const;
150
205
 
151
206
    /* Asynchronous Request Support */
152
 
    void requestDestroyed(QOrganizerItemAbstractRequest* req);
153
 
    bool startRequest(QOrganizerItemAbstractRequest* req);
154
 
    bool cancelRequest(QOrganizerItemAbstractRequest* req);
155
 
    bool waitForRequestFinished(QOrganizerItemAbstractRequest* req, int msecs);
 
207
    void requestDestroyed(QOrganizerAbstractRequest* req);
 
208
    bool startRequest(QOrganizerAbstractRequest* req);
 
209
    bool cancelRequest(QOrganizerAbstractRequest* req);
 
210
    bool waitForRequestFinished(QOrganizerAbstractRequest* req, int msecs);
156
211
 
157
212
private:
158
213
    QOrganizerItemSkeletonEngineData* d;