23 #ifndef _TelepathyQt_base_protocol_h_HEADER_GUARD_
24 #define _TelepathyQt_base_protocol_h_HEADER_GUARD_
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
30 #include <TelepathyQt/AvatarSpec>
31 #include <TelepathyQt/Callbacks>
32 #include <TelepathyQt/DBusService>
33 #include <TelepathyQt/Global>
34 #include <TelepathyQt/PresenceSpecList>
35 #include <TelepathyQt/ProtocolParameterList>
36 #include <TelepathyQt/RequestableChannelClassSpecList>
37 #include <TelepathyQt/Types>
39 #include <QDBusConnection>
57 template<
typename BaseProtocolSub
class>
65 return BaseProtocolPtr(
new BaseProtocol(dbusConnection, name));
67 template<
typename BaseProtocolSub
class>
78 QVariantMap immutableProperties()
const;
82 void setConnectionInterfaces(
const QStringList &connInterfaces);
91 void setVCardField(
const QString &vcardField);
94 void setEnglishName(
const QString &englishName);
97 void setIconName(
const QString &iconName);
100 void setAuthenticationTypes(
const QStringList &authenticationTypes);
103 void setCreateConnectionCallback(
const CreateConnectionCallback &cb);
104 Tp::BaseConnectionPtr createConnection(
const QVariantMap ¶meters,
DBusError *error);
107 void setIdentifyAccountCallback(
const IdentifyAccountCallback &cb);
111 void setNormalizeContactCallback(
const NormalizeContactCallback &cb);
115 AbstractProtocolInterfacePtr interface(
const QString & interfaceName)
const;
116 bool plugInterface(
const AbstractProtocolInterfacePtr &interface);
121 virtual bool registerObject(
const QString &busName,
const QString &objectPath,
127 friend class Adaptee;
129 friend class Private;
146 friend class Private;
156 static BaseProtocolAddressingInterfacePtr
create()
160 template<
typename BaseProtocolAddressingInterfaceSub
class>
164 new BaseProtocolAddressingInterfaceSubclass());
169 QVariantMap immutableProperties()
const;
172 void setAddressableVCardFields(
const QStringList &vcardFields);
175 void setAddressableUriSchemes(
const QStringList &uriSchemes);
178 void setNormalizeVCardAddressCallback(
const NormalizeVCardAddressCallback &cb);
182 void setNormalizeContactUriCallback(
const NormalizeContactUriCallback &cb);
189 void createAdaptor();
192 friend class Adaptee;
194 friend struct Private;
204 static BaseProtocolAvatarsInterfacePtr
create()
208 template<
typename BaseProtocolAvatarsInterfaceSub
class>
212 new BaseProtocolAvatarsInterfaceSubclass());
217 QVariantMap immutableProperties()
const;
220 void setAvatarDetails(
const AvatarSpec &spec);
226 void createAdaptor();
229 friend class Adaptee;
231 friend struct Private;
241 static BaseProtocolPresenceInterfacePtr
create()
245 template<
typename BaseProtocolPresenceInterfaceSub
class>
249 new BaseProtocolPresenceInterfaceSubclass());
254 QVariantMap immutableProperties()
const;
263 void createAdaptor();
266 friend class Adaptee;
268 friend struct Private;
Callback2< QString, const QString &, DBusError * > NormalizeContactCallback
Definition: base-protocol.h:110
static BaseProtocolPtr create(const QDBusConnection &dbusConnection, const QString &name)
Definition: base-protocol.h:63
The RequestableChannelClassSpecList class represents a list of RequestableChannelClassSpec.
Definition: requestable-channel-class-spec.h:101
Base class for implementations of Protocol.Interface.Addressing.
Definition: base-protocol.h:150
Callback2< QString, const QString &, DBusError * > NormalizeContactUriCallback
Definition: base-protocol.h:181
Definition: abstract-adaptor.cpp:31
Callback2< BaseConnectionPtr, const QVariantMap &, DBusError * > CreateConnectionCallback
Definition: base-protocol.h:102
QDBusConnection sessionBus()
Base class for connection manager implementations.
Definition: base-connection-manager.h:41
Base class for D-Bus service interfaces.
Definition: dbus-service.h:73
static BaseProtocolPtr create(const QString &name)
Definition: base-protocol.h:53
Base class for all the Protocol object interface implementations.
Definition: base-protocol.h:133
static BaseProtocolAddressingInterfacePtr create()
Definition: base-protocol.h:156
Callback2< QString, const QVariantMap &, DBusError * > IdentifyAccountCallback
Definition: base-protocol.h:106
static BaseProtocolAvatarsInterfacePtr create()
Definition: base-protocol.h:204
The AvatarSpec class represents a Telepathy avatar information supported by a protocol.
Definition: avatar.h:51
Base class for protocol implementations.
Definition: base-protocol.h:47
static BaseProtocolPresenceInterfacePtr create()
Definition: base-protocol.h:241
Base class for implementations of Protocol.Interface.Presence.
Definition: base-protocol.h:235
The SharedPtr class is a pointer to an explicitly shared object.
Definition: shared-ptr.h:39
static SharedPtr< BaseProtocolSubclass > create(const QString &name)
Definition: base-protocol.h:58
static SharedPtr< BaseProtocolSubclass > create(const QDBusConnection &dbusConnection, const QString &name)
Definition: base-protocol.h:68
static SharedPtr< BaseProtocolAvatarsInterfaceSubclass > create()
Definition: base-protocol.h:209
Base class for D-Bus services.
Definition: dbus-service.h:46
The PresenceSpecList class represents a list of PresenceSpec.
Definition: presence.h:125
Callback3< QString, const QString &, const QString &, DBusError * > NormalizeVCardAddressCallback
Definition: base-protocol.h:177
static SharedPtr< BaseProtocolAddressingInterfaceSubclass > create()
Definition: base-protocol.h:161
Base class for implementations of Protocol.Interface.Avatars.
Definition: base-protocol.h:198
static SharedPtr< BaseProtocolPresenceInterfaceSubclass > create()
Definition: base-protocol.h:246
Small container class, containing a D-Bus error.
Definition: dbus-error.h:35