[Telepathy-commits] [telepathy-qt4/master] Contact: Added stub subscription/publish state methods.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue Feb 24 13:06:47 PST 2009


---
 TelepathyQt4/Client/contact.cpp |   28 +++++++++++++++++++++++++++-
 TelepathyQt4/Client/contact.h   |   15 +++++++++++++++
 2 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/TelepathyQt4/Client/contact.cpp b/TelepathyQt4/Client/contact.cpp
index d10d654..53a2b56 100644
--- a/TelepathyQt4/Client/contact.cpp
+++ b/TelepathyQt4/Client/contact.cpp
@@ -37,7 +37,8 @@ namespace Client
 struct Contact::Private
 {
     Private(ContactManager *manager, const ReferencedHandles &handle)
-        : manager(manager), handle(handle), isAvatarTokenKnown(false)
+        : manager(manager), handle(handle), isAvatarTokenKnown(false),
+          subscriptionState(PresenceStateNo), publishState(PresenceStateNo)
     {
     }
 
@@ -52,6 +53,9 @@ struct Contact::Private
     bool isAvatarTokenKnown;
     QString avatarToken;
     SimplePresence simplePresence;
+
+    PresenceState subscriptionState;
+    PresenceState publishState;
 };
 
 ContactManager *Contact::manager() const
@@ -149,6 +153,16 @@ QString Contact::presenceMessage() const
     return mPriv->simplePresence.statusMessage;
 }
 
+Contact::PresenceState Contact::subscriptionState() const
+{
+    return mPriv->subscriptionState;
+}
+
+Contact::PresenceState Contact::publishState() const
+{
+    return mPriv->publishState;
+}
+
 Contact::~Contact()
 {
     delete mPriv;
@@ -263,5 +277,17 @@ void Contact::receiveSimplePresence(const SimplePresence &presence)
     }
 }
 
+void Contact::setSubscriptionState(Contact::PresenceState state)
+{
+    mPriv->subscriptionState = state;
+    emit subscriptionStateChanged(state);
+}
+
+void Contact::setPublishState(Contact::PresenceState state)
+{
+    mPriv->publishState = state;
+    emit publishStateChanged(state);
+}
+
 } // Telepathy::Client
 } // Telepathy
diff --git a/TelepathyQt4/Client/contact.h b/TelepathyQt4/Client/contact.h
index eaae37b..41040d4 100644
--- a/TelepathyQt4/Client/contact.h
+++ b/TelepathyQt4/Client/contact.h
@@ -52,6 +52,12 @@ public:
         _Padding = 0xFFFFFFFF
     };
 
+    enum PresenceState {
+         PresenceStateNo,
+         PresenceStateAsk,
+         PresenceStateYes
+    };
+
     ContactManager *manager() const;
 
     ReferencedHandles handle() const;
@@ -69,6 +75,9 @@ public:
     uint presenceType() const;
     QString presenceMessage() const;
 
+    PresenceState subscriptionState() const;
+    PresenceState publishState() const;
+
     ~Contact();
 
 Q_SIGNALS:
@@ -76,6 +85,9 @@ Q_SIGNALS:
     void avatarTokenChanged(const QString &avatarToken);
     void simplePresenceChanged(const QString &status, uint type, const QString &presenceMessage);
 
+    void subscriptionStateChanged(PresenceState state);
+    void publishStateChanged(PresenceState state);
+
     // TODO: consider how the Renaming interface should work and map to Contacts
     // I guess it would be something like:
     // void renamedTo(QSharedPointer<Contact>)
@@ -94,6 +106,9 @@ private:
     void receiveAvatarToken(const QString &avatarToken);
     void receiveSimplePresence(const SimplePresence &presence);
 
+    void setSubscriptionState(PresenceState state);
+    void setPublishState(PresenceState state);
+
     struct Private;
     friend class ContactManager;
     friend struct Private;
-- 
1.5.6.5




More information about the telepathy-commits mailing list