45 Q_MOC_INCLUDE(<QtDBus/qdbuspendingcall.h>)
48 enum BusType { SessionBus, SystemBus, ActivationBus };
51 ExportAdaptors = 0x01,
53 ExportScriptableSlots = 0x10,
54 ExportScriptableSignals = 0x20,
55 ExportScriptableProperties = 0x40,
56 ExportScriptableInvokables = 0x80,
57 ExportScriptableContents = 0xf0,
59 ExportNonScriptableSlots = 0x100,
60 ExportNonScriptableSignals = 0x200,
61 ExportNonScriptableProperties = 0x400,
62 ExportNonScriptableInvokables = 0x800,
63 ExportNonScriptableContents = 0xf00,
65 ExportAllSlots = ExportScriptableSlots|ExportNonScriptableSlots,
66 ExportAllSignals = ExportScriptableSignals|ExportNonScriptableSignals,
67 ExportAllProperties = ExportScriptableProperties|ExportNonScriptableProperties,
68 ExportAllInvokables = ExportScriptableInvokables|ExportNonScriptableInvokables,
69 ExportAllContents = ExportScriptableContents|ExportNonScriptableContents,
73 ExportAllSignal = ExportAllSignals,
75 ExportChildObjects = 0x1000
78 Q_DECLARE_FLAGS(RegisterOptions, RegisterOption)
79 Q_FLAG(RegisterOptions)
85 Q_ENUM(UnregisterMode)
87 enum VirtualObjectRegisterOption {
92 Q_DECLARE_FLAGS(VirtualObjectRegisterOptions, VirtualObjectRegisterOption)
94 enum ConnectionCapability {
95 UnixFileDescriptorPassing = 0x0001
97 Q_DECLARE_FLAGS(ConnectionCapabilities, ConnectionCapability)
99 explicit QDBusConnection(
const QString &name);
100 QDBusConnection(
const QDBusConnection &other);
101 QDBusConnection(QDBusConnection &&other)
noexcept : d(other.d) { other.d =
nullptr; }
102 QDBusConnection &operator=(QDBusConnection &&other)
noexcept { swap(other);
return *
this; }
103 QDBusConnection &operator=(
const QDBusConnection &other);
106 void swap(QDBusConnection &other)
noexcept { qt_ptr_swap(d, other.d); }
108 bool isConnected()
const;
109 QString baseService()
const;
110 QDBusError lastError()
const;
111 QString name()
const;
112 ConnectionCapabilities connectionCapabilities()
const;
114 bool send(
const QDBusMessage &message)
const;
115 bool callWithCallback(
const QDBusMessage &message, QObject *receiver,
116 const char *returnMethod,
const char *errorMethod,
117 int timeout = -1)
const;
118 bool callWithCallback(
const QDBusMessage &message, QObject *receiver,
119 const char *slot,
int timeout = -1)
const;
120 QDBusMessage call(
const QDBusMessage &message, QDBus::CallMode mode = QDBus::Block,
121 int timeout = -1)
const;
122 QDBusPendingCall asyncCall(
const QDBusMessage &message,
int timeout = -1)
const;
124 bool connect(
const QString &service,
const QString &path,
const QString &interface,
125 const QString &name, QObject *receiver,
const char *slot);
126 bool connect(
const QString &service,
const QString &path,
const QString &interface,
127 const QString &name,
const QString& signature,
128 QObject *receiver,
const char *slot);
129 bool connect(
const QString &service,
const QString &path,
const QString &interface,
130 const QString &name,
const QStringList &argumentMatch,
const QString& signature,
131 QObject *receiver,
const char *slot);
133 bool disconnect(
const QString &service,
const QString &path,
const QString &interface,
134 const QString &name, QObject *receiver,
const char *slot);
135 bool disconnect(
const QString &service,
const QString &path,
const QString &interface,
136 const QString &name,
const QString& signature,
137 QObject *receiver,
const char *slot);
138 bool disconnect(
const QString &service,
const QString &path,
const QString &interface,
139 const QString &name,
const QStringList &argumentMatch,
const QString& signature,
140 QObject *receiver,
const char *slot);
142 bool registerObject(
const QString &path, QObject *object,
143 RegisterOptions options = ExportAdaptors);
144 bool registerObject(
const QString &path,
const QString &interface, QObject *object,
145 RegisterOptions options = ExportAdaptors);
146 void unregisterObject(
const QString &path, UnregisterMode mode = UnregisterNode);
147 QObject *objectRegisteredAt(
const QString &path)
const;
149 bool registerVirtualObject(
const QString &path, QDBusVirtualObject *object,
150 VirtualObjectRegisterOption options = SingleNode);
152 bool registerService(
const QString &serviceName);
153 bool unregisterService(
const QString &serviceName);
155 QDBusConnectionInterface *interface()
const;
157 void *internalPointer()
const;
159 static QDBusConnection connectToBus(BusType type,
const QString &name);
160 static QDBusConnection connectToBus(
const QString &address,
const QString &name);
161 static QDBusConnection connectToPeer(
const QString &address,
const QString &name);
162 static void disconnectFromBus(
const QString &name);
163 static void disconnectFromPeer(
const QString &name);
165 static QByteArray localMachineId();
167 static QDBusConnection sessionBus();
168 static QDBusConnection systemBus();
171 explicit QDBusConnection(QDBusConnectionPrivate *dd);
174 friend class QDBusConnectionPrivate;
175 QDBusConnectionPrivate *d;