--- a/qtmobility/plugins/contacts/wince/qcontactwincebackend_p.h Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/plugins/contacts/wince/qcontactwincebackend_p.h Mon May 03 13:18:40 2010 +0300
@@ -202,50 +202,97 @@
Q_OBJECT
public:
- QContactWinCEEngine(ContactWinceFactory* factory, const QString& engineName, const QMap<QString, QString>& parameters, QContactManager::Error& error);
+ QContactWinCEEngine(ContactWinceFactory* factory, const QString& engineName, const QMap<QString, QString>& parameters, QContactManager::Error* error);
QContactWinCEEngine(const QContactWinCEEngine& other);
~QContactWinCEEngine();
QContactWinCEEngine& operator=(const QContactWinCEEngine& other);
- void deref();
- QString managerName() const;
+
+ /* URI reporting */
+ virtual QString managerName() const;
+ QMap<QString, QString> managerParameters() const;
+ virtual int managerVersion() const;
/* Filtering */
- QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
+ virtual QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
+
+ virtual QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
+ virtual QContact contact(const QContactLocalId& contactId, const QtMobility::QContactFetchHint& hint, QContactManager::Error* error) const;
+
+ virtual bool saveContact(QContact* contact, QContactManager::Error* error);
+ virtual bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
+ virtual bool saveRelationship(QContactRelationship* relationship, QContactManager::Error* error);
+ virtual bool removeRelationship(const QContactRelationship& relationship, QContactManager::Error* error);
- /* Contacts - Accessors and Mutators */
- QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
- QContact contact(const QContactLocalId& contactId, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
- bool saveContact(QContact* contact, QContactManager::Error& error);
- bool removeContact(const QContactLocalId& contactId, QContactManager::Error& error);
+ virtual bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
+ virtual bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
+
+ /* Return a pruned or modified contact which is valid and can be saved in the backend */
+ virtual QContact compatibleContact(const QContact& original, QContactManager::Error* error)
+ {
+ return QContactManagerEngine::compatibleContact(original, error);
+ }
+
+ /* Synthesize the display label of a contact */
+ virtual QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
+
- /* Groups - Accessors and Mutators */
- //QList<QContactLocalId> groups(QContactManager::Error& error) const;
- //QContactGroup group(const QContactLocalId& groupId, QContactManager::Error& error) const;
- //bool saveGroup(QContactGroup* group, QContactManager::Error& error);
- //bool removeGroup(const QContactLocalId& groupId, QContactManager::Error& error);
+ /* "Self" contact id (MyCard) */
+ virtual bool setSelfContactId(const QContactLocalId& contactId, QContactManager::Error* error);
+ virtual QContactLocalId selfContactId(QContactManager::Error* error) const;
+
+ /* Relationships between contacts */
+ virtual QList<QContactRelationship> relationships(const QString& relationshipType, const QContactId& participantId, QContactRelationship::Role role, QContactManager::Error* error) const;
+ virtual bool saveRelationships(QList<QContactRelationship>* relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
+ virtual bool removeRelationships(const QList<QContactRelationship>& relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
- /* Definitions */
- QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error& error) const;
+ /* Validation for saving */
+ virtual QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError;return QContact();}
+ virtual bool validateContact(const QContact& contact, QContactManager::Error* error) const
+ {
+ return QContactManagerEngine::validateContact(contact, error);
+ }
+ virtual bool validateDefinition(const QContactDetailDefinition& def, QContactManager::Error* error) const
+ {
+ return QContactManagerEngine::validateDefinition(def, error);
+ }
+
+ /* Definitions - Accessors and Mutators */
+ virtual QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error* error) const;
+ virtual QContactDetailDefinition detailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error) const
+ {
+ return QContactManagerEngine::detailDefinition(definitionId, contactType, error);
+ }
+ virtual bool saveDetailDefinition(const QContactDetailDefinition& def, const QString& contactType, QContactManager::Error* error);
+ virtual bool removeDetailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error);
/* Asynchronous Request Support */
- void requestDestroyed(QContactAbstractRequest* req);
- bool startRequest(QContactAbstractRequest* req);
- bool cancelRequest(QContactAbstractRequest* req);
- bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
+ virtual void requestDestroyed(QContactAbstractRequest* req);
+ virtual bool startRequest(QContactAbstractRequest* req);
+ virtual bool cancelRequest(QContactAbstractRequest* req);
+ virtual bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
/* Capabilities reporting */
- bool hasFeature(QContactManager::ManagerFeature feature) const;
- bool isFilterSupported(const QContactFilter& filter) const;
- QList<QVariant::Type> supportedDataTypes() const;
+ virtual bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
+ virtual bool isRelationshipTypeSupported(const QString& relationshipType, const QString& contactType) const
+ {
+ Q_UNUSED(relationshipType);
+ Q_UNUSED(contactType);
+ return false;
+ }
- /* Synthesize the display label of a contact */
- virtual QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error& error) const;
-
+ virtual bool isFilterSupported(const QContactFilter& filter) const;
+ virtual QList<QVariant::Type> supportedDataTypes() const;
+ virtual QStringList supportedContactTypes() const
+ {
+ return QContactManagerEngine::supportedContactTypes();
+ }
+
/*helper functions*/
PROPID metaAvatar() const;
PROPID metaAvatarType() const;
PROPID metaEmail() const;
PROPID metaPhone() const;
+
private:
QSharedDataPointer<QContactWinCEEngineData> d;
@@ -261,13 +308,13 @@
class QMutex;
-class Q_DECL_EXPORT ContactWinceFactory : public QObject, public QContactManagerEngineFactory
+class ContactWinceFactory : public QObject, public QContactManagerEngineFactory
{
Q_OBJECT
Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
public:
ContactWinceFactory();
- QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error& error);
+ QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error* error);
QString managerName() const;
void resetEngine();
private: