54 #ifndef QDBUSCONNECTION_P_H 55 #define QDBUSCONNECTION_P_H 60 #include <QtCore/qatomic.h> 61 #include <QtCore/qhash.h> 62 #include <QtCore/qmutex.h> 63 #include <QtCore/qobject.h> 64 #include <QtCore/qpointer.h> 65 #include <QtCore/qreadwritelock.h> 66 #include <QtCore/qstringlist.h> 67 #include <QtCore/qvarlengtharray.h> 68 #include <QtCore/qvector.h> 81 class QDBusObjectPrivate;
98 inline bool operator !()
const {
return !q_dbus_error_is_set(&error); }
99 inline operator DBusError *() { q_dbus_error_free(&error);
return &
error; }
134 VirtualObject = 0x01000000
143 :
name(n), obj(0), flags(0) { }
146 {
return name < other; }
184 void deleteYourself();
190 void closeConnection();
198 const char *returnMethod,
const char *errorMethod,
int timeout = -1);
201 QObject *receiver,
const char *slot);
203 SignalHookHash::Iterator disconnectSignal(SignalHookHash::Iterator &
it);
206 QObject *receiver,
const char *slot);
208 void connectRelay(
const QString &service,
211 void disconnectRelay(
const QString &service,
214 void registerService(
const QString &serviceName);
215 void unregisterService(
const QString &serviceName);
226 {
emit newServerConnection(connection); }
245 bool isServiceRegisteredByThread(
const QString &serviceName)
const;
250 void customEvent(
QEvent *e);
256 void socketRead(
int);
257 void socketWrite(
int);
258 void objectDestroyed(
QObject *o);
263 void registerServiceNoLock(
const QString &serviceName);
264 void unregisterServiceNoLock(
const QString &serviceName);
317 QObject *receiver,
const char *signal,
int minMIdx,
318 bool buildSignature);
319 static DBusHandlerResult messageFilter(DBusConnection *, DBusMessage *,
void *);
QHash< QString, WatchedServiceData > WatchedServicesHash
QStringList argumentMatch
SignalHookHash signalHooks
The QDBusConnectionInterface class provides access to the D-Bus bus daemon service.
QStringList serverConnectionNames
#define QT_END_NAMESPACE
This macro expands to.
The QMutex class provides access serialization between threads.
QMultiHash< QString, SignalHook > SignalHookHash
The QAtomicInt class provides platform-independent atomic operations on integers. ...
#define it(className, varName)
static QDBusConnectionPrivate * d(const QDBusConnection &q)
The QByteArray class provides an array of bytes.
The QDBusError class represents an error received from the D-Bus bus or from remote applications foun...
#define Q_DISABLE_COPY(Class)
Disables the use of copy constructors and assignment operators for the given Class.
static QDBusConnection q(QDBusConnectionPrivate *connection)
QDBusVirtualObject * treeNode
QVector< ObjectTreeNode > DataList
MatchRefCountHash matchRefCounts
The QString class provides a Unicode character string.
QMutex watchAndTimeoutLock
QHash< int, DBusTimeout * > TimeoutHash
The QObject class is the base class of all Qt objects.
static int findSlot(const QMetaObject *mo, const QByteArray &name, int flags, const QString &signature_, QList< int > &metaTypes)
DBusConnection * connection
MetaObjectHash cachedMetaObjects
ObjectTreeNode(const QString &n)
QHash< QString, QDBusMetaObject *> MetaObjectHash
bool qDBusCheckAsyncTag(const char *tag)
int qDBusParametersForMethod(const QMetaMethod &mm, QList< int > &metaTypes)
ErrorType
In order to facilitate verification of the most common D-Bus errors generated by the D-Bus implementa...
The QSocketNotifier class provides support for monitoring activity on a file descriptor.
The QDBusAbstractInterface class is the base class for all D-Bus interfaces in the QtDBus binding...
#define QT_BEGIN_NAMESPACE
This macro expands to.
QString qDBusInterfaceFromMetaObject(const QMetaObject *mo)
WatchedServiceData(const QString &owner, int refcount=0)
The QStringList class provides a list of strings.
QMultiHash< int, Watcher > WatcherHash
bool operator<(const QStringRef &other) const
QDBusConnection::ConnectionCapabilities capabilities
The QDBusVirtualObject class is used to handle several DBus paths with one class. ...
QDBusConnectionPrivate * d
QDBusMessage qDBusPropertyGet(const QDBusConnectionPrivate::ObjectTreeNode &node, const QDBusMessage &msg)
The QStringRef class provides a thin wrapper around QString substrings.
PendingTimeoutList timeoutsPendingAdd
bool operator<(const QString &other) const
QHash< QByteArray, int > MatchRefCountHash
int qDBusNameToTypeId(const char *name)
QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNode &node, const QDBusMessage &msg)
QDBusMessage qDBusPropertyGetAll(const QDBusConnectionPrivate::ObjectTreeNode &node, const QDBusMessage &msg)
static QAuServer & server()
The QTimerEvent class contains parameters that describe a timer event.
The QDBusConnection class represents a connection to the D-Bus bus daemon.
The QReadWriteLock class provides read-write locking.
bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name)
WatchedServicesHash watchedServices
QString qDBusIntrospectObject(const QDBusConnectionPrivate::ObjectTreeNode &node, const QString &path)
The QDBusMessage class represents one message sent or received over the D-Bus bus.
QList< QPair< DBusTimeout *, int > > PendingTimeoutList
QDBusCallDeliveryEvent * callDeliveryState
QDBusConnectionInterface * busService
The QEvent class is the base class of all event classes.
void serverConnection(const QDBusConnection &connection)