qtmobility/plugins/contacts/symbian/inc/cntsymbianengine.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    84 class CntSymbianEngine : public QContactManagerEngine
    84 class CntSymbianEngine : public QContactManagerEngine
    85 {
    85 {
    86     Q_OBJECT
    86     Q_OBJECT
    87 
    87 
    88 public:
    88 public:
    89     CntSymbianEngine(const QMap<QString, QString>& parameters, QContactManager::Error& error);
    89     CntSymbianEngine(const QMap<QString, QString>& parameters, QContactManager::Error* error);
    90     CntSymbianEngine(const CntSymbianEngine& other);
    90     CntSymbianEngine(const CntSymbianEngine& other);
    91     ~CntSymbianEngine();
    91     ~CntSymbianEngine();
    92     void deref();
       
    93     
    92     
    94     /* URI reporting */
    93     /* URI reporting */
    95     QString managerName() const;
    94     QString managerName() const;
    96 
    95 
       
    96     /* XXX TODO - implement these correctly */
       
    97     QMap<QString, QString> managerParameters() const {return QMap<QString, QString>();}
       
    98     int managerVersion() const { return 1;}
       
    99     QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error =  QContactManager::NotSupportedError;return QContact();}
       
   100     bool validateContact(const QContact& contact, QContactManager::Error* error) const {return QContactManagerEngine::validateContact(contact, error);}
       
   101     bool validateDefinition(const QContactDetailDefinition& def, QContactManager::Error* error) const {return QContactManagerEngine::validateDefinition(def, error);}
       
   102     QContactDetailDefinition detailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error) const  {return QContactManagerEngine::detailDefinition(definitionId, contactType, error);}
       
   103     bool saveDetailDefinition(const QContactDetailDefinition& def, const QString& contactType, QContactManager::Error* error) {return QContactManagerEngine::saveDetailDefinition(def, contactType, error);}
       
   104     bool removeDetailDefinition(const QString& definitionId, const QString& contactType, QContactManager::Error* error)  {return QContactManagerEngine::removeDetailDefinition(definitionId, contactType, error);}
       
   105     QStringList supportedContactTypes() const {return QContactManagerEngine::supportedContactTypes();}
       
   106 
       
   107     /* Functions that are optional in the base API */
       
   108     bool saveRelationship(QContactRelationship* relationship, QContactManager::Error* error);
       
   109     bool removeRelationship(const QContactRelationship& relationship, QContactManager::Error* error);
       
   110     bool saveContact(QContact* contact, QContactManager::Error* error);
       
   111     bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
       
   112 
    97     /* Contacts - Accessors and Mutators */
   113     /* Contacts - Accessors and Mutators */
    98     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   114     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
    99     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   115     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   100     QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   116     QContact contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   101     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   117 
   102     QContact contact(const QContactLocalId& contactId, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   118     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   103     
   119     bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   104     bool saveContact(QContact* contact, QContactManager::Error& error);
       
   105     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error& error);
       
   106     bool removeContact(const QContactLocalId& contactId, QContactManager::Error& error);
       
   107     bool removeContacts(QList<QContactLocalId>* contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error& error);
       
   108 
   120 
   109     /* Synthesize the display label of a contact */
   121     /* Synthesize the display label of a contact */
   110     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error& error) const;
   122     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
   111     
   123     
   112     /* "Self" contact id (MyCard) */
   124     /* "Self" contact id (MyCard) */
   113     bool setSelfContactId(const QContactLocalId& contactId, QContactManager::Error& error);
   125     bool setSelfContactId(const QContactLocalId& contactId, QContactManager::Error* error);
   114     QContactLocalId selfContactId(QContactManager::Error& error) const;
   126     QContactLocalId selfContactId(QContactManager::Error* error) const;
   115     
   127     
   116     /* Relationships between contacts */
   128     /* Relationships between contacts */
   117     QList<QContactRelationship> relationships(const QString& relationshipType, const QContactId& participantId, QContactRelationshipFilter::Role role, QContactManager::Error& error) const;
   129     QList<QContactRelationship> relationships(const QString& relationshipType, const QContactId& participantId, QContactRelationship::Role role, QContactManager::Error* error) const;
   118     bool saveRelationship(QContactRelationship* relationship, QContactManager::Error& error);
   130     bool saveRelationships(QList<QContactRelationship>* relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   119     QList<QContactManager::Error> saveRelationships(QList<QContactRelationship>* relationships, QContactManager::Error& error);
   131     bool removeRelationships(const QList<QContactRelationship>& relationships, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   120     bool removeRelationship(const QContactRelationship& relationship, QContactManager::Error& error);
       
   121     QList<QContactManager::Error> removeRelationships(const QList<QContactRelationship>& relationships, QContactManager::Error& error);
       
   122 
   132 
   123     /* Definitions - Accessors and Mutators */
   133     /* Definitions - Accessors and Mutators */
   124     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error& error) const;
   134     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error* error) const;
   125 
   135 
   126     /* Capabilities reporting */
   136     /* Capabilities reporting */
   127     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   137     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   128     QStringList supportedRelationshipTypes(const QString& contactType) const;
   138     bool isRelationshipTypeSupported(const QString& relationshipType, const QString& contactType) const;
   129     bool isFilterSupported(const QContactFilter& filter) const;
   139     bool isFilterSupported(const QContactFilter& filter) const;
   130     QList<QVariant::Type> supportedDataTypes() const;
   140     QList<QVariant::Type> supportedDataTypes() const;
   131 
   141 
   132 private:
   142 private:
   133     QList<QContactLocalId> slowFilter(const QContactFilter& filter, const QList<QContactLocalId>& contacts, QContactManager::Error& error) const;
   143     QList<QContactLocalId> slowFilter(const QContactFilter& filter, const QList<QContactLocalId>& contacts, QContactManager::Error* error) const;
   134     QList<QContactLocalId> slowSort(const QList<QContactLocalId>& contactIds, const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   144     QList<QContactLocalId> slowSort(const QList<QContactLocalId>& contactIds, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
   135     bool doSaveContact(QContact* contact, QContactChangeSet& changeSet, QContactManager::Error& error);
   145     bool doSaveContact(QContact* contact, QContactChangeSet& changeSet, QContactManager::Error* error);
   136 
   146 
   137     QContact fetchContactL(const QContactLocalId &localId, const QStringList& definitionRestrictions) const;
   147     QContact fetchContactL(const QContactLocalId &localId, const QStringList& definitionRestrictions) const;
   138 
   148 
   139     /* Add contact */
   149     /* Add contact */
   140     bool addContact(QContact& contact, QContactChangeSet& changeSet, QContactManager::Error& qtError);
   150     bool addContact(QContact& contact, QContactChangeSet& changeSet, QContactManager::Error* qtError);
   141     int addContactL(QContact &contact);
   151     int addContactL(QContact &contact);
   142 
   152 
   143     /* Update contact */
   153     /* Update contact */
   144     bool updateContact(QContact& contact, QContactChangeSet& changeSet, QContactManager::Error& qtError);
   154     bool updateContact(QContact& contact, QContactChangeSet& changeSet, QContactManager::Error* qtError);
   145     void updateContactL(QContact &contact);
   155     void updateContactL(QContact &contact);
   146 
   156 
   147     /* Remove contact */
   157     /* Remove contact */
   148     bool removeContact(const QContactLocalId &id, QContactChangeSet& changeSet, QContactManager::Error& qtError);
   158     bool removeContact(const QContactLocalId &id, QContactChangeSet& changeSet, QContactManager::Error* qtError);
   149     int removeContactL(QContactLocalId id);
   159     int removeContactL(QContactLocalId id);
   150 
   160 
   151     void updateDisplayLabel(QContact& contact) const;
   161     void updateDisplayLabel(QContact& contact) const;
   152 
   162 
   153     /* Asynchronous Request Support - synchronous versions until thread worker is stable */
   163     /* Asynchronous Request Support - synchronous versions until thread worker is stable */
   170     CntDisplayLabel *m_displayLabel;
   180     CntDisplayLabel *m_displayLabel;
   171 
   181 
   172     QQueue<QContactAbstractRequest*> m_asynchronousOperations; // async requests to be performed.
   182     QQueue<QContactAbstractRequest*> m_asynchronousOperations; // async requests to be performed.
   173 #ifdef PBK_UNIT_TEST
   183 #ifdef PBK_UNIT_TEST
   174     friend class TestSymbianEngine;
   184     friend class TestSymbianEngine;
       
   185     friend class TestCntRelationship;
   175 #endif  //PBK_UNIT_TEST
   186 #endif  //PBK_UNIT_TEST
   176 };
   187 };
   177 #ifndef PBK_UNIT_TEST
   188 #ifndef PBK_UNIT_TEST
   178 class Q_DECL_EXPORT CntSymbianFactory : public QObject, public QContactManagerEngineFactory
   189 class CntSymbianFactory : public QObject, public QContactManagerEngineFactory
   179 {
   190 {
   180     Q_OBJECT
   191     Q_OBJECT
   181     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   192     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   182     public:
   193     public:
   183         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error& error);
   194         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error* error);
   184         QString managerName() const;
   195         QString managerName() const;
   185 };
   196 };
   186 #endif  //PBK_UNIT_TEST
   197 #endif  //PBK_UNIT_TEST
   187 #endif  //CNTSYMBIANBACKEND_P_H
   198 #endif  //CNTSYMBIANBACKEND_P_H