qtmobility/src/contacts/qcontactmanager.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
--- a/qtmobility/src/contacts/qcontactmanager.h	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/src/contacts/qcontactmanager.h	Mon May 03 13:18:40 2010 +0300
@@ -56,6 +56,7 @@
 #include "qcontactid.h"
 #include "qcontactrelationship.h"
 #include "qcontactsortorder.h"
+#include "qcontactfetchhint.h"
 
 QTM_BEGIN_NAMESPACE
 
@@ -113,33 +114,32 @@
     /* Contacts - Accessors and Mutators */
     QList<QContactLocalId> contactIds(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
     QList<QContactLocalId> contactIds(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
-    QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QStringList& definitionRestrictions = QStringList()) const;
-    QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QStringList& definitionRestrictions = QStringList()) const;
-
-    QContact contact(const QContactLocalId& contactId, const QStringList& definitionRestrictions = QStringList()) const;  // retrieve a contact
+    QList<QContact> contacts(const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
+    QList<QContact> contacts(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>(), const QContactFetchHint& fetchHint = QContactFetchHint()) const;
+    QContact contact(const QContactLocalId& contactId, const QContactFetchHint& fetchHint = QContactFetchHint()) const;  // retrieve a contact
 
     bool saveContact(QContact* contact);                 // note: MODIFIES contact (sets the contactId)
     bool removeContact(const QContactLocalId& contactId);      // remove the contact from the persistent store
+    bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap); // batch API - save.
+    bool removeContacts(const QList<QContactLocalId>& contactIds, QMap<int, QContactManager::Error>* errorMap); // batch API - remove.
 
-    QList<QContactManager::Error> Q_DECL_DEPRECATED saveContacts(QList<QContact>* contacts);       // deprecated batch API - save
-    QList<QContactManager::Error> Q_DECL_DEPRECATED removeContacts(QList<QContactLocalId>* contactIds);  // deprecated batch API - remove
-    bool saveContacts(QList<QContact>* contacts, QMap<int, QContactManager::Error>* errorMap); // batch API - save.
-    bool removeContacts(QList<QContactLocalId>* contactIds, QMap<int, QContactManager::Error>* errorMap); // batch API - remove.
+    /* Return a pruned or modified contact which is valid and can be saved in the manager */
+    QContact compatibleContact(const QContact& original); // Preliminary function!
 
     /* Synthesize the display label of a contact */
-    QString synthesizedDisplayLabel(const QContact& contact) const; // replaces the above
+    QString synthesizedDisplayLabel(const QContact& contact) const;
 
     /* "Self" contact id (MyCard) */
     bool setSelfContactId(const QContactLocalId& contactId);
     QContactLocalId selfContactId() const;
 
     /* Relationships */
-    QList<QContactRelationship> relationships(const QContactId& participantId, QContactRelationshipFilter::Role role = QContactRelationshipFilter::Either) const;
-    QList<QContactRelationship> relationships(const QString& relationshipType = QString(), const QContactId& participantId = QContactId(), QContactRelationshipFilter::Role role = QContactRelationshipFilter::Either) const;
+    QList<QContactRelationship> relationships(const QContactId& participantId, QContactRelationship::Role role = QContactRelationship::Either) const;
+    QList<QContactRelationship> relationships(const QString& relationshipType = QString(), const QContactId& participantId = QContactId(), QContactRelationship::Role role = QContactRelationship::Either) const;
     bool saveRelationship(QContactRelationship* relationship);
-    QList<QContactManager::Error> saveRelationships(QList<QContactRelationship>* relationships);
+    bool saveRelationships(QList<QContactRelationship>* relationships, QMap<int, QContactManager::Error>* errorMap);
     bool removeRelationship(const QContactRelationship& relationship);
-    QList<QContactManager::Error> removeRelationships(const QList<QContactRelationship>& relationships);
+    bool removeRelationships(const QList<QContactRelationship>& relationships, QMap<int, QContactManager::Error>* errorMap);
 
     /* Definitions - Accessors and Mutators */
     QMap<QString, QContactDetailDefinition> detailDefinitions(const QString& contactType = QContactType::TypeContact) const;
@@ -149,21 +149,20 @@
 
     /* Functionality reporting */
     enum ManagerFeature {
-        Groups = 0,
-        ActionPreferences,
+        Groups = 0,               // backend supports QContactType::TypeGroup type contacts (convenience for clients... should be deprecated)
+        ActionPreferences,        // per-contact action preferences
         MutableDefinitions,
         Relationships,
         ArbitraryRelationshipTypes,
-        RelationshipOrdering,
         DetailOrdering,
         SelfContact,
         Anonymous,
         ChangeLogs
     };
     bool hasFeature(QContactManager::ManagerFeature feature, const QString& contactType = QContactType::TypeContact) const;
-    QStringList supportedRelationshipTypes(const QString& contactType = QContactType::TypeContact) const;
+    bool isRelationshipTypeSupported(const QString& relationshipType, const QString& contactType = QContactType::TypeContact) const; // replaces the above
     QList<QVariant::Type> supportedDataTypes() const;
-    bool isFilterSupported(const QContactFilter& filter) const;// replaces the above.
+    bool isFilterSupported(const QContactFilter& filter) const;
     QStringList supportedContactTypes() const;
 
     /* return a list of available backends for which a QContactManager can be constructed. */