[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