qtmobility/plugins/contacts/wince/qcontactwincebackend_p.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
   200 class QContactWinCEEngine : public QContactManagerEngine
   200 class QContactWinCEEngine : public QContactManagerEngine
   201 {
   201 {
   202     Q_OBJECT
   202     Q_OBJECT
   203 
   203 
   204 public:
   204 public:
   205     QContactWinCEEngine(ContactWinceFactory* factory, const QString& engineName, const QMap<QString, QString>& parameters, QContactManager::Error& error);
   205     QContactWinCEEngine(ContactWinceFactory* factory, const QString& engineName, const QMap<QString, QString>& parameters, QContactManager::Error* error);
   206     QContactWinCEEngine(const QContactWinCEEngine& other);
   206     QContactWinCEEngine(const QContactWinCEEngine& other);
   207     ~QContactWinCEEngine();
   207     ~QContactWinCEEngine();
   208     QContactWinCEEngine& operator=(const QContactWinCEEngine& other);
   208     QContactWinCEEngine& operator=(const QContactWinCEEngine& other);
   209     void deref();
   209 
   210     QString managerName() const;
   210     /* URI reporting */
       
   211     virtual QString managerName() const;
       
   212     QMap<QString, QString> managerParameters() const;
       
   213     virtual int managerVersion() const;
   211 
   214 
   212     /* Filtering */
   215     /* Filtering */
   213     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   216     virtual QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
   214 
   217 
   215     /* Contacts - Accessors and Mutators */
   218     virtual QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   216     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   219     virtual QContact contact(const QContactLocalId& contactId, const QtMobility::QContactFetchHint& hint, QContactManager::Error* error) const;
   217     QContact contact(const QContactLocalId& contactId, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   220 
   218     bool saveContact(QContact* contact, QContactManager::Error& error);
   221     virtual bool saveContact(QContact* contact, QContactManager::Error* error);
   219     bool removeContact(const QContactLocalId& contactId, QContactManager::Error& error);
   222     virtual bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
   220 
   223     virtual bool saveRelationship(QContactRelationship* relationship, QContactManager::Error* error);
   221     /* Groups - Accessors and Mutators */
   224     virtual bool removeRelationship(const QContactRelationship& relationship, QContactManager::Error* error);
   222     //QList<QContactLocalId> groups(QContactManager::Error& error) const;
   225 
   223     //QContactGroup group(const QContactLocalId& groupId, QContactManager::Error& error) const;
   226     virtual bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   224     //bool saveGroup(QContactGroup* group, QContactManager::Error& error);
   227     virtual bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   225     //bool removeGroup(const QContactLocalId& groupId, QContactManager::Error& error);
   228 
   226 
   229     /* Return a pruned or modified contact which is valid and can be saved in the backend */
   227     /* Definitions */
   230     virtual QContact compatibleContact(const QContact& original, QContactManager::Error* error)
   228     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error& error) const;
   231     {
       
   232         return QContactManagerEngine::compatibleContact(original, error);
       
   233     }
       
   234 
       
   235     /* Synthesize the display label of a contact */
       
   236     virtual QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
       
   237 
       
   238 
       
   239     /* "Self" contact id (MyCard) */
       
   240     virtual bool setSelfContactId(const QContactLocalId& contactId, QContactManager::Error* error);
       
   241     virtual QContactLocalId selfContactId(QContactManager::Error* error) const;
       
   242 
       
   243     /* Relationships between contacts */
       
   244     virtual QList<QContactRelationship> relationships(const QString& relationshipType, const QContactId& participantId, QContactRelationship::Role role, QContactManager::Error* error) const;
       
   245     virtual bool saveRelationships(QList<QContactRelationship>* relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
       
   246     virtual bool removeRelationships(const QList<QContactRelationship>& relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
       
   247 
       
   248     /* Validation for saving */
       
   249     virtual QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error =  QContactManager::NotSupportedError;return QContact();}
       
   250     virtual bool validateContact(const QContact& contact, QContactManager::Error* error) const
       
   251     {
       
   252         return QContactManagerEngine::validateContact(contact, error);
       
   253     }
       
   254     virtual bool validateDefinition(const QContactDetailDefinition& def, QContactManager::Error* error) const
       
   255     {
       
   256         return QContactManagerEngine::validateDefinition(def, error);
       
   257     }
       
   258 
       
   259     /* Definitions - Accessors and Mutators */
       
   260     virtual QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error* error) const;
       
   261     virtual QContactDetailDefinition detailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error) const
       
   262     {
       
   263         return QContactManagerEngine::detailDefinition(definitionId, contactType, error);
       
   264     }
       
   265     virtual bool saveDetailDefinition(const QContactDetailDefinition& def, const QString& contactType, QContactManager::Error* error);
       
   266     virtual bool removeDetailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error);
   229 
   267 
   230     /* Asynchronous Request Support */
   268     /* Asynchronous Request Support */
   231     void requestDestroyed(QContactAbstractRequest* req);
   269     virtual void requestDestroyed(QContactAbstractRequest* req);
   232     bool startRequest(QContactAbstractRequest* req);
   270     virtual bool startRequest(QContactAbstractRequest* req);
   233     bool cancelRequest(QContactAbstractRequest* req);
   271     virtual bool cancelRequest(QContactAbstractRequest* req);
   234     bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
   272     virtual bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
   235 
   273 
   236     /* Capabilities reporting */
   274     /* Capabilities reporting */
   237     bool hasFeature(QContactManager::ManagerFeature feature) const;
   275     virtual bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   238     bool isFilterSupported(const QContactFilter& filter) const;
   276     virtual bool isRelationshipTypeSupported(const QString& relationshipType, const QString& contactType) const
   239     QList<QVariant::Type> supportedDataTypes() const;
   277     {
   240 
   278         Q_UNUSED(relationshipType);
   241     /* Synthesize the display label of a contact */
   279         Q_UNUSED(contactType);
   242     virtual QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error& error) const;
   280         return false;
   243     
   281     }
       
   282 
       
   283     virtual bool isFilterSupported(const QContactFilter& filter) const;
       
   284     virtual QList<QVariant::Type> supportedDataTypes() const;
       
   285     virtual QStringList supportedContactTypes() const
       
   286     {
       
   287         return QContactManagerEngine::supportedContactTypes();
       
   288     }
       
   289 
   244     /*helper functions*/
   290     /*helper functions*/
   245     PROPID metaAvatar() const;
   291     PROPID metaAvatar() const;
   246     PROPID metaAvatarType() const;
   292     PROPID metaAvatarType() const;
   247     PROPID metaEmail() const;
   293     PROPID metaEmail() const;
   248     PROPID metaPhone() const;
   294     PROPID metaPhone() const;
       
   295 
   249 private:
   296 private:
   250     QSharedDataPointer<QContactWinCEEngineData> d;
   297     QSharedDataPointer<QContactWinCEEngineData> d;
   251 
   298 
   252     QContact convertToQContact(IItem *contact) const;
   299     QContact convertToQContact(IItem *contact) const;
   253     bool convertFromQContact(const QContact& contact, IItem* item, QContactManager::Error &error) const;
   300     bool convertFromQContact(const QContact& contact, IItem* item, QContactManager::Error &error) const;
   259     friend class ContactWinceFactory;
   306     friend class ContactWinceFactory;
   260 };
   307 };
   261 
   308 
   262 class QMutex;
   309 class QMutex;
   263 
   310 
   264 class Q_DECL_EXPORT ContactWinceFactory : public QObject, public QContactManagerEngineFactory
   311 class ContactWinceFactory : public QObject, public QContactManagerEngineFactory
   265 {
   312 {
   266     Q_OBJECT
   313     Q_OBJECT
   267     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   314     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   268 public:
   315 public:
   269     ContactWinceFactory();
   316     ContactWinceFactory();
   270         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error& error);
   317         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error* error);
   271         QString managerName() const;
   318         QString managerName() const;
   272         void resetEngine();
   319         void resetEngine();
   273 private:
   320 private:
   274     QMutex m_mutex;
   321     QMutex m_mutex;
   275     QContactWinCEEngine* m_engine;
   322     QContactWinCEEngine* m_engine;