qtmobility/plugins/contacts/maemo5/qcontactmaemo5backend_p.h
changeset 5 453da2cfceef
parent 4 90517678cc4f
child 11 06b8e2af4411
equal deleted inserted replaced
4:90517678cc4f 5:453da2cfceef
    46 #include "qcontactmanager_p.h"
    46 #include "qcontactmanager_p.h"
    47 
    47 
    48 #include <QMap>
    48 #include <QMap>
    49 #include <QString>
    49 #include <QString>
    50 #include <QList>
    50 #include <QList>
    51 
    51 #include <QQueue>
    52 #include <QDebug>
    52 #include <QDebug>
    53 
    53 
    54 #include "qtcontacts.h"
    54 #include "qtcontacts.h"
    55 #include "qcontactabook_p.h"
    55 #include "qcontactabook_p.h"
    56 #include "qcontactchangeset.h"
    56 #include "qcontactchangeset.h"
    57 
    57 
    58 #define MAEMO5_ENGINE_VERSION 0.1
    58 #define MAEMO5_ENGINE_VERSION 0.1
    59 
    59 
    60 QTM_USE_NAMESPACE
    60 QTM_USE_NAMESPACE
       
    61 
       
    62 Q_DEFINE_LATIN1_CONSTANT(AddressFieldExtension, "X-Maemo5-Extension");
    61 
    63 
    62 class Q_DECL_EXPORT ContactMaemo5Factory : public QObject, public QContactManagerEngineFactory
    64 class Q_DECL_EXPORT ContactMaemo5Factory : public QObject, public QContactManagerEngineFactory
    63 {
    65 {
    64   Q_OBJECT
    66   Q_OBJECT
    65   Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
    67   Q_INTERFACES(QtMobility::QContactManagerEngineFactory)
   103 
   105 
   104     QString managerName() const;
   106     QString managerName() const;
   105     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
   107     QString synthesizedDisplayLabel(const QContact& contact, QContactManager::Error* error) const;
   106     bool validateContact(const QContact&, QContactManager::Error* error) const;
   108     bool validateContact(const QContact&, QContactManager::Error* error) const;
   107     bool validateDefinition(const QContactDetailDefinition&, QContactManager::Error* error) const;
   109     bool validateDefinition(const QContactDetailDefinition&, QContactManager::Error* error) const;
       
   110     QContact compatibleContact(const QContact& contact, QContactManager::Error* error) const;
   108 
   111 
   109     /* "Self" contact id (MyCard) */
   112     /* "Self" contact id (MyCard) */
   110     QContactLocalId selfContactId(QContactManager::Error* errors) const;
   113     QContactLocalId selfContactId(QContactManager::Error* errors) const;
   111 
   114 
   112     /* Filtering */
   115     /* Filtering */
   132     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   135     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType) const;
   133     bool isFilterSupported(const QContactFilter& filter) const;
   136     bool isFilterSupported(const QContactFilter& filter) const;
   134     QList<QVariant::Type> supportedDataTypes() const;
   137     QList<QVariant::Type> supportedDataTypes() const;
   135     QStringList supportedContactTypes() const {return (QStringList() << QContactType::TypeContact);}
   138     QStringList supportedContactTypes() const {return (QStringList() << QContactType::TypeContact);}
   136     
   139     
   137     // XXX TODO: FIXME - these are pure virtual and so MUST be implemented by the backend.  Stubs here.
   140     /* Asynchronous Request Support - synchronous versions until thread worker is stable */
   138     QMap<QString, QString> managerParameters() const {return QMap<QString,QString>();}
   141     void requestDestroyed(QContactAbstractRequest *req);
   139 
   142     bool startRequest(QContactAbstractRequest *req);
   140     QContact compatibleContact(const QContact&, QContactManager::Error* error) const {*error =  QContactManager::NotSupportedError;return QContact();}
   143     bool cancelRequest(QContactAbstractRequest *req);
   141 
   144     bool waitForRequestProgress(QContactAbstractRequest* req, int msecs);
   142     bool setSelfContactId(const QContactLocalId&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
   145     bool waitForRequestFinished(QContactAbstractRequest* req, int msecs);
   143     bool saveDetailDefinition(const QContactDetailDefinition&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   144     bool removeDetailDefinition(const QString&, const QString&, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
       
   145 
       
   146     void requestDestroyed(QContactAbstractRequest*) {}
       
   147     bool startRequest(QContactAbstractRequest*) {return false;}
       
   148     bool cancelRequest(QContactAbstractRequest*) {return false;}
       
   149     bool waitForRequestFinished(QContactAbstractRequest*, int) {return false;}
       
   150     
   146     
   151     bool saveRelationships(QList<QContactRelationship>*, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
   147   private slots:
   152     bool removeRelationships(const QList<QContactRelationship>&, QMap<int, QContactManager::Error>*, QContactManager::Error* error) {*error = QContactManager::NotSupportedError; return false;}
   148     void performAsynchronousOperation();
   153     bool isRelationshipTypeSupported(const QString&, const QString&) const {return false;}
   149     
   154     QList<QContactRelationship> relationships(const QString&, const QContactId&, QContactRelationship::Role, QContactManager::Error* error) const {*error = QContactManager::NotSupportedError; return QList<QContactRelationship>();}
   150   private:  
   155 
   151     QQueue<QContactAbstractRequest*> m_asynchronousOperations; // async requests to be performed.
   156   private:
       
   157     QSharedDataPointer<QContactMaemo5EngineData> d;
   152     QSharedDataPointer<QContactMaemo5EngineData> d;
   158 };
   153 };
   159 
   154 
   160 #endif
   155 #endif
   161 
   156