connection-lowlevel.h Source File

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

connection-lowlevel.h
1
23 #ifndef _TelepathyQt_connection_lowlevel_h_HEADER_GUARD_
24 #define _TelepathyQt_connection_lowlevel_h_HEADER_GUARD_
25
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
28 #endif
29
30 #include <TelepathyQt/Constants>
31 #include <TelepathyQt/Types>
32
33 namespace Tp
34 {
35
36 class Connection;
37 class PendingChannel;
38 class PendingContactAttributes;
39 class PendingHandles;
40 class PendingOperation;
41 class PendingReady;
42
43 class TP_QT_EXPORT ConnectionLowlevel : public QObject, public RefCounted
44 {
45 Q_OBJECT
46 Q_DISABLE_COPY(ConnectionLowlevel)
47
48 public:
49 ~ConnectionLowlevel();
50
51 bool isValid() const;
52 ConnectionPtr connection() const;
53
54 PendingReady *requestConnect(const Features &requestedFeatures = Features());
55 PendingOperation *requestDisconnect();
56
57 SimpleStatusSpecMap allowedPresenceStatuses() const;
58 uint maxPresenceStatusMessageLength() const;
59
60 PendingOperation *setSelfPresence(const QString &status, const QString &statusMessage);
61
62 PendingChannel *createChannel(const QVariantMap &request);
63 PendingChannel *createChannel(const QVariantMap &request, int timeout);
64 PendingChannel *ensureChannel(const QVariantMap &request);
65 PendingChannel *ensureChannel(const QVariantMap &request, int timeout);
66
67 PendingHandles *requestHandles(HandleType handleType, const QStringList &names);
68 PendingHandles *referenceHandles(HandleType handleType, const UIntList &handles);
69
70 PendingContactAttributes *contactAttributes(const UIntList &handles,
71 const QStringList &interfaces, bool reference = true);
72 QStringList contactAttributeInterfaces() const;
73
74 void injectContactIds(const HandleIdentifierMap &contactIds);
75 void injectContactId(uint handle, const QString &contactId);
76
77 private:
78 friend class Connection;
79 friend class ContactManager;
80 friend class PendingContacts;
81
82 TP_QT_NO_EXPORT ConnectionLowlevel(Connection *parent);
83
84 TP_QT_NO_EXPORT bool hasImmortalHandles() const;
85
86 TP_QT_NO_EXPORT bool hasContactId(uint handle) const;
87 TP_QT_NO_EXPORT QString contactId(uint handle) const;
88
89 struct Private;
90 friend struct Private;
91 Private *mPriv;
92 };
93
94 } // Tp
95
96 #endif
Tp::ContactManager
The ContactManager class is responsible for managing contacts.
Definition: contact-manager.h:50
Tp::HandleType
HandleType
Definition: build/TelepathyQt/_gen/constants.h:1375
Tp::PendingReady
The PendingReady class represents the features requested and the reply to a request for an object to ...
Definition: pending-ready.h:40
Tp::PendingHandles
The PendingHandles class represents the parameters of and the reply to an asynchronous handle request...
Definition: pending-handles.h:46
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::PendingContacts
The PendingContacts class is used by ContactManager when creating/updating Contact objects...
Definition: pending-contacts.h:46
Tp::Connection
The Connection class represents a Telepathy connection.
Definition: connection.h:62
Tp::SimpleStatusSpecMap
Definition: build/TelepathyQt/_gen/types.h:3849
Tp::PendingChannel
The PendingChannel class represents the parameters of and the reply to an asynchronous channel reques...
Definition: pending-channel.h:44
Tp::HandleIdentifierMap
Definition: build/TelepathyQt/_gen/types.h:1646
Tp::ConnectionLowlevel
The ConnectionLowlevel class extends Connection with support to low-level features.
Definition: connection-lowlevel.h:43
Tp::RefCounted
The RefCounted class is a base class for shared objects used by SharedPtr.
Definition: shared-ptr.h:42
Tp::Features
The Features class represents a list of Feature.
Definition: feature.h:61
Tp::PendingContactAttributes
The PendingContactAttributes class represents the parameters of and the reply to an asynchronous requ...
Definition: pending-contact-attributes.h:40