[Telepathy-commits] [telepathy-qt4/master] Add PendingContacts::invalidHandles() (forgot it earlier)

Olli Salli olli.salli at collabora.co.uk
Thu Jan 29 13:04:54 PST 2009


---
 TelepathyQt4/Client/pending-contacts.cpp |   19 ++++++++++++++++++-
 TelepathyQt4/Client/pending-contacts.h   |    1 +
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/TelepathyQt4/Client/pending-contacts.cpp b/TelepathyQt4/Client/pending-contacts.cpp
index 1d83a5d..f3ec9f0 100644
--- a/TelepathyQt4/Client/pending-contacts.cpp
+++ b/TelepathyQt4/Client/pending-contacts.cpp
@@ -65,6 +65,7 @@ struct PendingContacts::Private
     PendingContacts *nested;
 
     QList<QSharedPointer<Contact> > contacts;
+    UIntList invalidHandles;
 };
 
 /**
@@ -124,6 +125,19 @@ QList<QSharedPointer<Contact> > PendingContacts::contacts() const
     return mPriv->contacts;
 }
 
+UIntList PendingContacts::invalidHandles() const
+{
+    if (!isFinished()) {
+        warning() << "PendingContacts::invalidHandles() called before finished";
+    } else if (isError()) {
+        warning() << "PendingContacts::invalidHandles() called when errored";
+    } else if (!isForHandles()) {
+        warning() << "PendingContacts::invalidHandles() called for" << this << "which is for IDs!";
+    }
+
+    return mPriv->invalidHandles;
+}
+
 void PendingContacts::onAttributesFinished(PendingOperation *operation)
 {
     PendingContactAttributes *pendingAttributes =
@@ -139,8 +153,11 @@ void PendingContacts::onAttributesFinished(PendingOperation *operation)
     }
 
     ReferencedHandles validHandles = pendingAttributes->validHandles();
+    mPriv->invalidHandles = pendingAttributes->invalidHandles();
     ContactAttributesMap attributes = pendingAttributes->attributes();
-    debug() << " Success:" << validHandles.size() << "valid handles";
+
+    debug() << " Success:" << validHandles.size() << "valid and"
+                           << mPriv->invalidHandles.size() << "invalid handles";
 
     for (int i = 0; i < validHandles.size(); i++) {
         uint handle = validHandles[i];
diff --git a/TelepathyQt4/Client/pending-contacts.h b/TelepathyQt4/Client/pending-contacts.h
index 0b7342e..ac7ac7f 100644
--- a/TelepathyQt4/Client/pending-contacts.h
+++ b/TelepathyQt4/Client/pending-contacts.h
@@ -61,6 +61,7 @@ public:
     QStringList identifiers() const;
 
     QList<QSharedPointer<Contact> > contacts() const;
+    UIntList invalidHandles() const;
 
 private Q_SLOTS:
     void onAttributesFinished(Telepathy::Client::PendingOperation *);
-- 
1.5.6.5




More information about the telepathy-commits mailing list