qtmobility/src/contacts/qcontactmanager.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    54 #include "qtcontactsglobal.h"
    54 #include "qtcontactsglobal.h"
    55 #include "qcontact.h"
    55 #include "qcontact.h"
    56 #include "qcontactid.h"
    56 #include "qcontactid.h"
    57 #include "qcontactrelationship.h"
    57 #include "qcontactrelationship.h"
    58 #include "qcontactsortorder.h"
    58 #include "qcontactsortorder.h"
       
    59 #include "qcontactfetchhint.h"
    59 
    60 
    60 QTM_BEGIN_NAMESPACE
    61 QTM_BEGIN_NAMESPACE
    61 
    62 
    62 class QContactFilter;
    63 class QContactFilter;
    63 class QContactAction;
    64 class QContactAction;
   111     QContactManager::Error error() const;
   112     QContactManager::Error error() const;
   112 
   113 
   113     /* Contacts - Accessors and Mutators */
   114     /* Contacts - Accessors and Mutators */
   114     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
   115     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
   115     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
   116     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
   116     QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QStringList& definitionRestrictions = QStringList()) const;
   117     QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
   117     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QStringList& definitionRestrictions = QStringList()) const;
   118     QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
   118 
   119     QContact contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint = QContactFetchHint()) const;  // retrieve a contact
   119     QContact contact(const QContactLocalId& contactId, const QStringList& definitionRestrictions = QStringList()) const;  // retrieve a contact
       
   120 
   120 
   121     bool saveContact(QContact* contact);                 // note: MODIFIES contact (sets the contactId)
   121     bool saveContact(QContact* contact);                 // note: MODIFIES contact (sets the contactId)
   122     bool removeContact(const QContactLocalId& contactId);      // remove the contact from the persistent store
   122     bool removeContact(const QContactLocalId& contactId);      // remove the contact from the persistent store
       
   123     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap); // batch API - save.
       
   124     bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap); // batch API - remove.
   123 
   125 
   124     QList<QContactManager::Error> Q_DECL_DEPRECATED saveContacts(QList<QContact>* contacts);       // deprecated batch API - save
   126     /* Return a pruned or modified contact which is valid and can be saved in the manager */
   125     QList<QContactManager::Error> Q_DECL_DEPRECATED removeContacts(QList<QContactLocalId>* contactIds);  // deprecated batch API - remove
   127     QContact compatibleContact(const QContact& original); // Preliminary function!
   126     bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap); // batch API - save.
       
   127     bool removeContacts(QList<QContactLocalId>* contactIds, QMap<int, QContactManager::Error>* errorMap); // batch API - remove.
       
   128 
   128 
   129     /* Synthesize the display label of a contact */
   129     /* Synthesize the display label of a contact */
   130     QString synthesizedDisplayLabel(const QContact& contact) const; // replaces the above
   130     QString synthesizedDisplayLabel(const QContact& contact) const;
   131 
   131 
   132     /* "Self" contact id (MyCard) */
   132     /* "Self" contact id (MyCard) */
   133     bool setSelfContactId(const QContactLocalId& contactId);
   133     bool setSelfContactId(const QContactLocalId& contactId);
   134     QContactLocalId selfContactId() const;
   134     QContactLocalId selfContactId() const;
   135 
   135 
   136     /* Relationships */
   136     /* Relationships */
   137     QList<QContactRelationship> relationships(const QContactId& participantId, QContactRelationshipFilter::Role role = QContactRelationshipFilter::Either) const;
   137     QList<QContactRelationship> relationships(const QContactId& participantId, QContactRelationship::Role role = QContactRelationship::Either) const;
   138     QList<QContactRelationship> relationships(const QString& relationshipType = QString(), const QContactId& participantId = QContactId(), QContactRelationshipFilter::Role role = QContactRelationshipFilter::Either) const;
   138     QList<QContactRelationship> relationships(const QString& relationshipType = QString(), const QContactId& participantId = QContactId(), QContactRelationship::Role role = QContactRelationship::Either) const;
   139     bool saveRelationship(QContactRelationship* relationship);
   139     bool saveRelationship(QContactRelationship* relationship);
   140     QList<QContactManager::Error> saveRelationships(QList<QContactRelationship>* relationships);
   140     bool saveRelationships(QList<QContactRelationship>* relationships, QMap<int, QContactManager::Error>* errorMap);
   141     bool removeRelationship(const QContactRelationship& relationship);
   141     bool removeRelationship(const QContactRelationship& relationship);
   142     QList<QContactManager::Error> removeRelationships(const QList<QContactRelationship>& relationships);
   142     bool removeRelationships(const QList<QContactRelationship>& relationships, QMap<int, QContactManager::Error>* errorMap);
   143 
   143 
   144     /* Definitions - Accessors and Mutators */
   144     /* Definitions - Accessors and Mutators */
   145     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType = QContactType::TypeContact) const;
   145     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType = QContactType::TypeContact) const;
   146     QContactDetailDefinition detailDefinition(const QString& definitionName, const QString& contactType = QContactType::TypeContact) const;
   146     QContactDetailDefinition detailDefinition(const QString& definitionName, const QString& contactType = QContactType::TypeContact) const;
   147     bool saveDetailDefinition(const QContactDetailDefinition& def, const QString& contactType = QContactType::TypeContact);
   147     bool saveDetailDefinition(const QContactDetailDefinition& def, const QString& contactType = QContactType::TypeContact);
   148     bool removeDetailDefinition(const QString& definitionName, const QString& contactType = QContactType::TypeContact);
   148     bool removeDetailDefinition(const QString& definitionName, const QString& contactType = QContactType::TypeContact);
   149 
   149 
   150     /* Functionality reporting */
   150     /* Functionality reporting */
   151     enum ManagerFeature {
   151     enum ManagerFeature {
   152         Groups = 0,
   152         Groups = 0,               // backend supports QContactType::TypeGroup type contacts (convenience for clients... should be deprecated)
   153         ActionPreferences,
   153         ActionPreferences,        // per-contact action preferences
   154         MutableDefinitions,
   154         MutableDefinitions,
   155         Relationships,
   155         Relationships,
   156         ArbitraryRelationshipTypes,
   156         ArbitraryRelationshipTypes,
   157         RelationshipOrdering,
       
   158         DetailOrdering,
   157         DetailOrdering,
   159         SelfContact,
   158         SelfContact,
   160         Anonymous,
   159         Anonymous,
   161         ChangeLogs
   160         ChangeLogs
   162     };
   161     };
   163     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType = QContactType::TypeContact) const;
   162     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType = QContactType::TypeContact) const;
   164     QStringList supportedRelationshipTypes(const QString& contactType = QContactType::TypeContact) const;
   163     bool isRelationshipTypeSupported(const QString& relationshipType, const QString& contactType = QContactType::TypeContact) const; // replaces the above
   165     QList<QVariant::Type> supportedDataTypes() const;
   164     QList<QVariant::Type> supportedDataTypes() const;
   166     bool isFilterSupported(const QContactFilter& filter) const;// replaces the above.
   165     bool isFilterSupported(const QContactFilter& filter) const;
   167     QStringList supportedContactTypes() const;
   166     QStringList supportedContactTypes() const;
   168 
   167 
   169     /* return a list of available backends for which a QContactManager can be constructed. */
   168     /* return a list of available backends for which a QContactManager can be constructed. */
   170     static QStringList availableManagers();
   169     static QStringList availableManagers();
   171 
   170