Home · All Classes · All Namespaces · Modules · Functions · Files
base-connection.h
1 
23 #ifndef _TelepathyQt_base_connection_h_HEADER_GUARD_
24 #define _TelepathyQt_base_connection_h_HEADER_GUARD_
25 
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
28 #endif
29 
30 #include <TelepathyQt/DBusService>
31 #include <TelepathyQt/Global>
32 #include <TelepathyQt/Types>
33 
34 #include <QDBusConnection>
35 
36 class QString;
37 
38 namespace Tp
39 {
40 
41 class TP_QT_EXPORT BaseConnection : public DBusService
42 {
43  Q_OBJECT
44  Q_DISABLE_COPY(BaseConnection)
45 
46 public:
47  static BaseConnectionPtr create(const QString &cmName, const QString &protocolName,
48  const QVariantMap &parameters)
49  {
50  return BaseConnectionPtr(new BaseConnection(
51  QDBusConnection::sessionBus(), cmName, protocolName, parameters));
52  }
53  template<typename BaseConnectionSubclass>
55  const QString &protocolName, const QVariantMap &parameters)
56  {
57  return SharedPtr<BaseConnectionSubclass>(new BaseConnectionSubclass(
58  QDBusConnection::sessionBus(), cmName, protocolName, parameters));
59  }
60  static BaseConnectionPtr create(const QDBusConnection &dbusConnection,
61  const QString &cmName, const QString &protocolName,
62  const QVariantMap &parameters)
63  {
64  return BaseConnectionPtr(new BaseConnection(
65  dbusConnection, cmName, protocolName, parameters));
66  }
67  template<typename BaseConnectionSubclass>
69  const QString &cmName, const QString &protocolName,
70  const QVariantMap &parameters)
71  {
72  return SharedPtr<BaseConnectionSubclass>(new BaseConnectionSubclass(
73  dbusConnection, cmName, protocolName, parameters));
74  }
75 
76  virtual ~BaseConnection();
77 
78  QString cmName() const;
79  QString protocolName() const;
80  QVariantMap parameters() const;
81 
82  QVariantMap immutableProperties() const;
83 
84  virtual QString uniqueName() const;
85  bool registerObject(DBusError *error = NULL);
86 
87 Q_SIGNALS:
88  void disconnected();
89 
90 protected:
91  BaseConnection(const QDBusConnection &dbusConnection,
92  const QString &cmName, const QString &protocolName,
93  const QVariantMap &parameters);
94 
95  virtual bool registerObject(const QString &busName, const QString &objectPath,
96  DBusError *error);
97 
98 private:
99  class Adaptee;
100  friend class Adaptee;
101  class Private;
102  friend class Private;
103  Private *mPriv;
104 };
105 
106 }
107 
108 #endif
static BaseConnectionPtr create(const QString &cmName, const QString &protocolName, const QVariantMap &parameters)
Definition: base-connection.h:47
Small container class, containing a D-Bus error.
Definition: dbus-error.h:35
QDBusConnection sessionBus()
static SharedPtr< BaseConnectionSubclass > create(const QString &cmName, const QString &protocolName, const QVariantMap &parameters)
Definition: base-connection.h:54
Base class for Connection implementations.
Definition: base-connection.h:41
The SharedPtr class is a pointer to an explicitly shared object.
Definition: shared-ptr.h:39
static BaseConnectionPtr create(const QDBusConnection &dbusConnection, const QString &cmName, const QString &protocolName, const QVariantMap &parameters)
Definition: base-connection.h:60
static SharedPtr< BaseConnectionSubclass > create(const QDBusConnection &dbusConnection, const QString &cmName, const QString &protocolName, const QVariantMap &parameters)
Definition: base-connection.h:68
Base class for D-Bus services.
Definition: dbus-service.h:46


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.4