23 #ifndef _TelepathyQt_base_connection_h_HEADER_GUARD_
24 #define _TelepathyQt_base_connection_h_HEADER_GUARD_
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
30 #include <TelepathyQt/AvatarSpec>
31 #include <TelepathyQt/DBusService>
32 #include <TelepathyQt/Global>
33 #include <TelepathyQt/Types>
34 #include <TelepathyQt/Callbacks>
35 #include <TelepathyQt/Constants>
37 #include <QDBusConnection>
51 const QVariantMap ¶meters) {
55 template<
typename BaseConnectionSub
class>
57 const QString &protocolName,
const QVariantMap ¶meters) {
63 const QVariantMap ¶meters) {
65 dbusConnection, cmName, protocolName, parameters));
67 template<
typename BaseConnectionSub
class>
70 const QVariantMap ¶meters) {
72 dbusConnection, cmName, protocolName, parameters));
79 QVariantMap parameters()
const;
81 QVariantMap immutableProperties()
const;
83 void setStatus(uint newStatus, uint reason);
86 void setCreateChannelCallback(
const CreateChannelCallback &cb);
87 Tp::BaseChannelPtr createChannel(
const QString &channelType, uint targetHandleType, uint targetHandle, uint initiatorHandle,
bool suppressHandler,
const QVariantMap &request,
DBusError *error);
90 void setRequestHandlesCallback(
const RequestHandlesCallback &cb);
96 void setSelfHandle(uint selfHandle);
97 uint selfHandle()
const;
100 void setConnectCallback(
const ConnectCallback &cb);
103 void setInspectHandlesCallback(
const InspectHandlesCallback &cb);
108 BaseChannelPtr ensureChannel(
const QString &channelType, uint targetHandleType,
109 uint targetHandle,
bool &yours, uint initiatorHandle,
bool suppressHandler,
const QVariantMap &request,
DBusError *error);
110 void addChannel(BaseChannelPtr channel);
113 AbstractConnectionInterfacePtr interface(
const QString &interfaceName)
const;
114 bool plugInterface(
const AbstractConnectionInterfacePtr &interface);
116 virtual QString uniqueName()
const;
117 bool registerObject(
DBusError *error = NULL);
123 TP_QT_NO_EXPORT
void removeChannel();
128 const QVariantMap ¶meters);
130 virtual bool registerObject(
const QString &busName,
const QString &objectPath,
135 friend class Adaptee;
137 friend class Private;
154 friend class Private;
167 template<
typename BaseConnectionRequestsInterfaceSub
class>
170 new BaseConnectionRequestsInterfaceSubclass(connection));
175 QVariantMap immutableProperties()
const;
178 void ensureChannel(
const QVariantMap &request,
bool &yours,
180 void createChannel(
const QVariantMap &request,
QDBusObjectPath &channel,
191 void createAdaptor();
194 friend class Adaptee;
196 friend struct Private;
208 static BaseConnectionContactsInterfacePtr
create() {
211 template<
typename BaseConnectionContactsInterfaceSub
class>
214 new BaseConnectionContactsInterfaceSubclass());
219 QVariantMap immutableProperties()
const;
222 void setGetContactAttributesCallback(
const GetContactAttributesCallback &cb);
226 void setContactAttributeInterfaces(
const QStringList &contactAttributeInterfaces);
231 void createAdaptor();
234 friend class Adaptee;
236 friend struct Private;
246 static BaseConnectionSimplePresenceInterfacePtr
create() {
249 template<
typename BaseConnectionSimplePresenceInterfaceSubl
class>
252 new BaseConnectionSimplePresenceInterfaceSublclass());
257 QVariantMap immutableProperties()
const;
262 int maximumStatusMessageLength()
const;
263 void setMaxmimumStatusMessageLength(uint maxmimumStatusMessageLength);
266 void setSetPresenceCallback(
const SetPresenceCallback &cb);
274 void createAdaptor();
277 friend class Adaptee;
279 friend struct Private;
289 static BaseConnectionContactListInterfacePtr
create()
293 template<
typename BaseConnectionContactListInterfaceSub
class>
297 new BaseConnectionContactListInterfaceSubclass());
302 QVariantMap immutableProperties()
const;
304 uint contactListState()
const;
305 void setContactListState(uint contactListState);
307 bool contactListPersists()
const;
308 void setContactListPersists(
bool contactListPersists);
310 bool canChangeContactList()
const;
311 void setCanChangeContactList(
bool canChangeContactList);
313 bool requestUsesMessage()
const;
314 void setRequestUsesMessage(
bool requestUsesMessage);
316 bool downloadAtConnection()
const;
317 void setDownloadAtConnection(
bool downloadAtConnection);
320 void setGetContactListAttributesCallback(
const GetContactListAttributesCallback &cb);
324 void setRequestSubscriptionCallback(
const RequestSubscriptionCallback &cb);
328 void setAuthorizePublicationCallback(
const AuthorizePublicationCallback &cb);
332 void setRemoveContactsCallback(
const RemoveContactsCallback &cb);
336 void setUnsubscribeCallback(
const UnsubscribeCallback &cb);
340 void setUnpublishCallback(
const UnpublishCallback &cb);
344 void setDownloadCallback(
const DownloadCallback &cb);
353 void createAdaptor();
356 friend class Adaptee;
358 friend struct Private;
368 static BaseConnectionContactInfoInterfacePtr
create()
372 template<
typename BaseConnectionContactInfoInterfaceSub
class>
376 new BaseConnectionContactInfoInterfaceSubclass());
381 QVariantMap immutableProperties()
const;
390 void setGetContactInfoCallback(
const GetContactInfoCallback &cb);
394 void setRefreshContactInfoCallback(
const RefreshContactInfoCallback &cb);
398 void setRequestContactInfoCallback(
const RequestContactInfoCallback &cb);
402 void setSetContactInfoCallback(
const SetContactInfoCallback &cb);
411 void createAdaptor();
414 friend class Adaptee;
416 friend struct Private;
426 static BaseConnectionAddressingInterfacePtr
create() {
429 template<
typename BaseConnectionAddressingInterfaceSub
class>
432 new BaseConnectionAddressingInterfaceSubclass());
437 QVariantMap immutableProperties()
const;
443 void setGetContactsByVCardFieldCallback(
const GetContactsByVCardFieldCallback &cb);
445 typedef Callback5 < void,
const QStringList&,
const QStringList&,
447 void setGetContactsByURICallback(
const GetContactsByURICallback &cb);
453 void createAdaptor();
456 friend class Adaptee;
458 friend struct Private;
468 static BaseConnectionAliasingInterfacePtr
create()
472 template<
typename BaseConnectionAliasingInterfaceSub
class>
476 new BaseConnectionAliasingInterfaceSubclass());
481 QVariantMap immutableProperties()
const;
484 void setGetAliasFlagsCallback(
const GetAliasFlagsCallback &cb);
488 void setRequestAliasesCallback(
const RequestAliasesCallback &cb);
492 void setGetAliasesCallback(
const GetAliasesCallback &cb);
496 void setSetAliasesCallback(
const SetAliasesCallback &cb);
505 void createAdaptor();
508 friend class Adaptee;
510 friend struct Private;
520 static BaseConnectionAvatarsInterfacePtr
create()
524 template<
typename BaseConnectionAvatarsInterfaceSub
class>
528 new BaseConnectionAvatarsInterfaceSubclass());
533 QVariantMap immutableProperties()
const;
536 void setAvatarDetails(
const AvatarSpec &spec);
539 void setGetKnownAvatarTokensCallback(
const GetKnownAvatarTokensCallback &cb);
543 void setRequestAvatarsCallback(
const RequestAvatarsCallback &cb);
547 void setSetAvatarCallback(
const SetAvatarCallback &cb);
551 void setClearAvatarCallback(
const ClearAvatarCallback &cb);
554 void avatarUpdated(uint contact,
const QString &newAvatarToken);
561 void createAdaptor();
564 friend class Adaptee;
566 friend struct Private;
Callback3< Tp::ContactAttributesMap, const QStringList &, bool, DBusError * > GetContactListAttributesCallback
Definition: base-connection.h:319
static BaseConnectionContactListInterfacePtr create()
Definition: base-connection.h:289
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:950
Callback3< QStringList, uint, const Tp::UIntList &, DBusError * > InspectHandlesCallback
Definition: base-connection.h:102
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:265
Callback5< void, const QStringList &, const QStringList &, Tp::AddressingNormalizationMap &, Tp::ContactAttributesMap &, DBusError * > GetContactsByURICallback
Definition: base-connection.h:446
Callback2< void, const Tp::UIntList &, DBusError * > UnpublishCallback
Definition: base-connection.h:339
Callback2< Tp::AvatarTokenMap, const Tp::UIntList &, DBusError * > GetKnownAvatarTokensCallback
Definition: base-connection.h:538
Definition: abstract-adaptor.cpp:31
Callback2< void, const Tp::ContactInfoFieldList &, DBusError * > SetContactInfoCallback
Definition: base-connection.h:401
Base class for implementations of Connection.Interface.Contact.Info.
Definition: base-connection.h:362
static SharedPtr< BaseConnectionContactInfoInterfaceSubclass > create()
Definition: base-connection.h:373
Callback1< void, DBusError * > ClearAvatarCallback
Definition: base-connection.h:550
static BaseConnectionRequestsInterfacePtr create(BaseConnection *connection)
Definition: base-connection.h:164
Callback3< QString, const QByteArray &, const QString &, DBusError * > SetAvatarCallback
Definition: base-connection.h:546
static BaseConnectionAddressingInterfacePtr create()
Definition: base-connection.h:426
static SharedPtr< BaseConnectionAliasingInterfaceSubclass > create()
Definition: base-connection.h:473
QDBusConnection sessionBus()
static SharedPtr< BaseConnectionContactListInterfaceSubclass > create()
Definition: base-connection.h:294
Base class for D-Bus service interfaces.
Definition: dbus-service.h:73
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:183
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:3459
Callback3< uint, const QString &, const QString &, DBusError * > SetPresenceCallback
Definition: base-connection.h:265
The AvatarSpec class represents a Telepathy avatar information supported by a protocol.
Definition: avatar.h:51
Callback2< Tp::ContactInfoMap, const Tp::UIntList &, DBusError * > GetContactInfoCallback
Definition: base-connection.h:389
Base class for implementations of Connection.Interface.Avatars.
Definition: base-connection.h:514
static BaseConnectionContactInfoInterfacePtr create()
Definition: base-connection.h:368
Base class for implementations of Connection.Interface.Addressing.
Definition: base-connection.h:420
Callback3< void, const Tp::UIntList &, const QString &, DBusError * > RequestSubscriptionCallback
Definition: base-connection.h:323
Callback1< Tp::ConnectionAliasFlags, DBusError * > GetAliasFlagsCallback
Definition: base-connection.h:483
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:161
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:3505
Callback2< void, const Tp::AliasMap &, DBusError * > SetAliasesCallback
Definition: base-connection.h:495
static SharedPtr< BaseConnectionSimplePresenceInterfaceSublclass > create()
Definition: base-connection.h:250
Base class for implementations of Connection.Interface.Contacts.
Definition: base-connection.h:201
Callback2< Tp::AliasMap, const Tp::UIntList &, DBusError * > GetAliasesCallback
Definition: base-connection.h:491
static SharedPtr< BaseConnectionSubclass > create(const QDBusConnection &dbusConnection, const QString &cmName, const QString &protocolName, const QVariantMap ¶meters)
Definition: base-connection.h:68
Callback1< void, DBusError * > ConnectCallback
Definition: base-connection.h:99
static BaseConnectionContactsInterfacePtr create()
Definition: base-connection.h:208
Callback with 6 arguments.
Definition: callbacks.h:327
static SharedPtr< BaseConnectionAddressingInterfaceSubclass > create()
Definition: base-connection.h:430
Callback2< void, const Tp::UIntList &, DBusError * > RequestAvatarsCallback
Definition: base-connection.h:542
Base class for implementations of Connection.Interface.SimplePresence.
Definition: base-connection.h:240
static BaseConnectionSimplePresenceInterfacePtr create()
Definition: base-connection.h:246
Base class for all the Connection object interface implementations.
Definition: base-connection.h:141
Callback5< BaseChannelPtr, const QString &, uint, uint, const QVariantMap &, DBusError * > CreateChannelCallback
Definition: base-connection.h:85
Base class for D-Bus services.
Definition: dbus-service.h:46
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:101
static SharedPtr< BaseConnectionAvatarsInterfaceSubclass > create()
Definition: base-connection.h:525
Base class for implementations of Connection.Interface.Aliasing.
Definition: base-connection.h:462
Callback2< void, const Tp::UIntList &, DBusError * > AuthorizePublicationCallback
Definition: base-connection.h:327
static SharedPtr< BaseConnectionRequestsInterfaceSubclass > create(BaseConnection *connection)
Definition: base-connection.h:168
Callback2< QStringList, const Tp::UIntList &, DBusError * > RequestAliasesCallback
Definition: base-connection.h:487
Base class for Connection implementations.
Definition: base-connection.h:44
Callback6< void, const QString &, const QStringList &, const QStringList &, Tp::AddressingNormalizationMap &, Tp::ContactAttributesMap &, DBusError * > GetContactsByVCardFieldCallback
Definition: base-connection.h:442
static BaseConnectionPtr create(const QDBusConnection &dbusConnection, const QString &cmName, const QString &protocolName, const QVariantMap ¶meters)
Definition: base-connection.h:61
Callback2< void, const Tp::UIntList &, DBusError * > RemoveContactsCallback
Definition: base-connection.h:331
Callback3< UIntList, uint, const QStringList &, DBusError * > RequestHandlesCallback
Definition: base-connection.h:89
Callback2< Tp::ContactInfoFieldList, uint, DBusError * > RequestContactInfoCallback
Definition: base-connection.h:397
static SharedPtr< BaseConnectionSubclass > create(const QString &cmName, const QString &protocolName, const QVariantMap ¶meters)
Definition: base-connection.h:56
Callback1< void, DBusError * > DownloadCallback
Definition: base-connection.h:343
Small container class, containing a D-Bus error.
Definition: dbus-error.h:35
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:3849
Callback3< ContactAttributesMap, const Tp::UIntList &, const QStringList &, DBusError * > GetContactAttributesCallback
Definition: base-connection.h:221
Callback2< void, const Tp::UIntList &, DBusError * > RefreshContactInfoCallback
Definition: base-connection.h:393
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:1646
static BaseConnectionAvatarsInterfacePtr create()
Definition: base-connection.h:520
Base class for implementations of Connection.Interface.ContactList.
Definition: base-connection.h:283
static BaseConnectionAliasingInterfacePtr create()
Definition: base-connection.h:468
static SharedPtr< BaseConnectionContactsInterfaceSubclass > create()
Definition: base-connection.h:212
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:3827
The SharedPtr class is a pointer to an explicitly shared object.
Definition: shared-ptr.h:39
Callback2< void, const Tp::UIntList &, DBusError * > UnsubscribeCallback
Definition: base-connection.h:335
Tp::RequestableChannelClassList requestableChannelClasses
Definition: base-connection.h:177
Base class for implementations of Connection.Interface.Requests.
Definition: base-connection.h:158
static BaseConnectionPtr create(const QString &cmName, const QString &protocolName, const QVariantMap ¶meters)
Definition: base-connection.h:50