qtmobility/plugins/contacts/qtcontacts-tracker/qcontacttrackerbackend_p.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    57 #include <QtTracker/Tracker>
    57 #include <QtTracker/Tracker>
    58 #include <QtTracker/ontologies/nco.h>
    58 #include <QtTracker/ontologies/nco.h>
    59 #include <QtTracker/QLive>
    59 #include <QtTracker/QLive>
    60 
    60 
    61 #include <qmobilityglobal.h>
    61 #include <qmobilityglobal.h>
    62 #include "qtcontacts.h"
    62 #include <qcontactmanagerengine.h>
    63 #include <qcontactmanagerenginefactory.h>
    63 #include <qcontactmanagerenginefactory.h>
    64 
    64 
    65 using namespace SopranoLive;
    65 using namespace SopranoLive;
    66 #include "qtrackercontactasyncrequest.h"
    66 #include "qtrackercontactasyncrequest.h"
    67 
    67 
   107 {
   107 {
   108 Q_OBJECT
   108 Q_OBJECT
   109 
   109 
   110 public:
   110 public:
   111     QContactTrackerEngine(const QString& managerName, int managerVersion, const QMap<QString, QString>& parameters);
   111     QContactTrackerEngine(const QString& managerName, int managerVersion, const QMap<QString, QString>& parameters);
   112     QContactTrackerEngine(const QMap<QString, QString>& parameters);
   112     QContactTrackerEngine(const QMap<QString, QString>& parameters);        // XXX FIXME: I don't think this is used in your factory code either?
   113     QContactTrackerEngine(const QContactTrackerEngine& other);
   113     QContactTrackerEngine(const QContactTrackerEngine& other);              // XXX FIXME: not used in your factory code...?
   114     ~QContactTrackerEngine();
   114     ~QContactTrackerEngine();
   115     QContactTrackerEngine& operator=(const QContactTrackerEngine& other);
   115     QContactTrackerEngine& operator=(const QContactTrackerEngine& other);   // XXX FIXME: not used in your factory code...?
   116     QContactManagerEngine* clone();
   116     QContactManagerEngine* clone();                                         // XXX FIXME: no longer part of the engine API
   117     void deref();
   117     void deref();                                                           // XXX FIXME: no longer part of the engine API
   118 
   118 
   119     // sync methods, wrapping async methods & waitForFinished
   119     // sync methods, wrapping async methods & waitForFinished
   120     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   120     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const; // XXX FIXME: no longer part of engine API.
   121     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error& error) const;
   121     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const;
   122     QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   122     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   123     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, const QStringList& definitionRestrictions, QContactManager::Error& error) const;
   123     QContact contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   124     QContact contact(const QContactLocalId& contactId, QContactManager::Error& error) const;
       
   125 
   124 
   126     /* Save contacts - single and in batch */
   125     /* Save contacts - single and in batch */
   127     bool saveContact( QContact* contact, QContactManager::Error& error);
   126     bool saveContact( QContact* contact, QContactManager::Error* error);
   128     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error& error);
   127     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error);
   129 
   128 
   130     bool removeContact(const QContactLocalId& contactId, QContactManager::Error& error);
   129     bool removeContact(const QContactLocalId& contactId, QContactManager::Error* error);
   131     bool removeContacts(QList<QContactLocalId>* contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error& error) ;
   130     bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap, QContactManager::Error* error) ;
   132 
   131 
   133     /* Definitions - Accessors and Mutators */
   132     /* Definitions - Accessors and Mutators */
   134     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error& error) const;
   133     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType, QContactManager::Error* error) const;
       
   134 
       
   135     QContactLocalId selfContactId(QContactManager::Error* error) const;
   135 
   136 
   136     /* Asynchronous Request Support */
   137     /* Asynchronous Request Support */
   137     void requestDestroyed(QContactAbstractRequest* req);
   138     void requestDestroyed(QContactAbstractRequest* req);
   138     bool startRequest(QContactAbstractRequest* req);
   139     bool startRequest(QContactAbstractRequest* req);
   139     bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
   140     bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
   140 
   141 
   141     /* Capabilities reporting */
   142     /* Capabilities reporting */
   142     bool hasFeature(QContactManager::ManagerFeature feature) const;
   143     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   143     bool filterSupported(const QContactFilter& filter) const;
   144 
       
   145     bool isFilterSupported(const QContactFilter& filter) const;
   144     QList<QVariant::Type> supportedDataTypes() const;
   146     QList<QVariant::Type> supportedDataTypes() const;
   145 
   147 
   146     /* Version Reporting */
   148     /* Version Reporting */
   147     QString managerName() const;
   149     QString managerName() const;
   148     int implementationVersion() const;
   150     int managerVersion() const;
   149 
   151 
   150     /* Synthesise the display label of a contact */
   152     /* Synthesise the display label of a contact */
   151     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error& error) const;
   153     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
       
   154 
       
   155 
       
   156 
       
   157     /* XXX TODO: pure virtual unimplemented functions! */
       
   158     QMap<QString, QString> managerParameters() const {return QMap<QString,QString>();}
       
   159     bool setSelfContactId(const QContactLocalId&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   160     QList<QContactRelationship> relationships(const QString&, const QContactId&, QContactRelationship::Role, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QList<QContactRelationship>();}
       
   161     bool saveRelationships(QList<QContactRelationship>*, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   162     bool removeRelationships(const QList<QContactRelationship>&, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   163     QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QContact();}
       
   164     bool validateContact(const QContact&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return false;}
       
   165     bool validateDefinition(const QContactDetailDefinition&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return false;}
       
   166     QContactDetailDefinition detailDefinition(const QString&, const QString&, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QContactDetailDefinition();}
       
   167     bool saveDetailDefinition(const QContactDetailDefinition&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   168     bool removeDetailDefinition(const QString&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   169     bool cancelRequest(QContactAbstractRequest*) {return false;}
       
   170     bool isRelationshipTypeSupported(const QString&, const QString&) const {return false;}
       
   171     QStringList supportedContactTypes() const {return (QStringList() << QContactType::TypeContact);}
   152 
   172 
   153 
   173 
   154 private:
   174 private:
   155     //called from both constructors, connecting to all contact NodeList changes signals
   175     //called from both constructors, connecting to all contact NodeList changes signals
   156     void connectToSignals();
   176     void connectToSignals();
   157     RDFVariable contactDetail2Rdf(const RDFVariable& rdfContact, const QString& definitionName, const QString& fieldName) const;
   177     RDFVariable contactDetail2Rdf(const RDFVariable& rdfContact, const QString& definitionName, const QString& fieldName) const;
   158     QContact contact_impl(const QContactLocalId& contactId, QContactManager::Error& error) const;
   178     QContact contact_impl(const QContactLocalId& contactId, const QContactFetchHint& fetchHint, QContactManager::Error* error) const;
   159 private:
   179 private:
   160     QSharedDataPointer<QContactTrackerEngineData> d;
   180     QSharedDataPointer<QContactTrackerEngineData> d;
   161     const QString contactArchiveFile;
   181     const QString contactArchiveFile;
   162     const QString contactArchiveDir;
   182     const QString contactArchiveDir;
   163     friend class ut_qtcontacts_trackerplugin;
   183     friend class ut_qtcontacts_trackerplugin;
   166 class Q_DECL_EXPORT ContactTrackerFactory : public QObject, public QtMobility::QContactManagerEngineFactory
   186 class Q_DECL_EXPORT ContactTrackerFactory : public QObject, public QtMobility::QContactManagerEngineFactory
   167 {
   187 {
   168     Q_OBJECT
   188     Q_OBJECT
   169     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   189     Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   170     public:
   190     public:
   171         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error&);
   191         QContactManagerEngine* engine(const QMap<QString, QString>& parameters, QContactManager::Error*);
   172         QString managerName() const;
   192         QString managerName() const;
   173 };
   193 };
   174 
   194 
   175 #endif
   195 #endif