| Home · All Classes · All Namespaces · Modules · Functions · Files

dbus-tube-channel.h
1
22 #ifndef _TelepathyQt_dbus_tube_channel_h_HEADER_GUARD_
23 #define _TelepathyQt_dbus_tube_channel_h_HEADER_GUARD_
24
25 #ifndef IN_TP_QT_HEADER
26 #error IN_TP_QT_HEADER
27 #endif
28
29 #include <TelepathyQt/TubeChannel>
30
31 namespace Tp
32 {
33
34 class TP_QT_EXPORT DBusTubeChannel : public TubeChannel
35 {
36 Q_OBJECT
37 Q_DISABLE_COPY(DBusTubeChannel)
38
39 public:
40 static const Feature FeatureCore;
41 static const Feature FeatureBusNameMonitoring;
42
43 static DBusTubeChannelPtr create(const ConnectionPtr &connection,
44 const QString &objectPath, const QVariantMap &immutableProperties);
45
46 virtual ~DBusTubeChannel();
47
48 QString serviceName() const;
49
50 bool supportsRestrictingToCurrentUser() const;
51
52 QHash<QString, Tp::ContactPtr> contactsForBusNames() const;
53
54 QString address() const;
55
56 protected:
57 DBusTubeChannel(const ConnectionPtr &connection, const QString &objectPath,
58 const QVariantMap &immutableProperties);
59
60 Q_SIGNALS:
61 void busNameAdded(const QString &busName, const Tp::ContactPtr &contact);
62 void busNameRemoved(const QString &busName, const Tp::ContactPtr &contact);
63
64 private Q_SLOTS:
65 TP_QT_NO_EXPORT void onRequestAllPropertiesFinished(Tp::PendingOperation*);
66 TP_QT_NO_EXPORT void onRequestPropertyDBusNamesFinished(Tp::PendingOperation *op);
67 TP_QT_NO_EXPORT void onDBusNamesChanged(const Tp::DBusTubeParticipants &added, const Tp::UIntList &removed);
68 TP_QT_NO_EXPORT void onContactsRetrieved(const QUuid &uuid, const QList<Tp::ContactPtr> &contacts);
69 TP_QT_NO_EXPORT void onQueueCompleted();
70
71 private:
72 TP_QT_NO_EXPORT void setAddress(const QString &address);
73
74 struct Private;
75 friend struct PendingDBusTubeConnection;
76 friend struct Private;
77 Private *mPriv;
78
79 };
80
81 } // Tp
82
83 #endif
Tp::PendingDBusTubeConnection
Definition: pending-dbus-tube-connection.h:36
Tp::TubeChannel
The TubeChannel class is a base class for all tube types.
Definition: tube-channel.h:34
Tp::DBusTubeParticipants
Definition: build/TelepathyQt/_gen/types.h:1443
Tp::DBusTubeChannel
The DBusTubeChannel class represents a Telepathy channel of type DBusTube.
Definition: dbus-tube-channel.h:34
Tp::Feature
The Feature class represents a feature that can be enabled on demand.
Definition: feature.h:41
Tp::PendingOperation
The PendingOperation class is a base class for pending asynchronous operations.
Definition: pending-operation.h:45
Tp::UIntList
Definition: build/TelepathyQt/_gen/types.h:101
Tp::DBusTubeChannel::FeatureCore
static const Feature FeatureCore
Definition: dbus-tube-channel.h:40
Tp::DBusTubeChannel::FeatureBusNameMonitoring
static const Feature FeatureBusNameMonitoring
Definition: dbus-tube-channel.h:41