Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdbusintegrator.cpp File Reference

(423eb26ef3d20aea96a5034dd1c07d00ccc02b96)

#include "qdbusintegrator_p.h"
#include <qcoreapplication.h>
#include <qelapsedtimer.h>
#include <private/qlatch_p.h>
#include <qloggingcategory.h>
#include <qmetaobject.h>
#include <qobject.h>
#include <qsocketnotifier.h>
#include <qstringlist.h>
#include <qthread.h>
#include <private/qlocking_p.h>
#include <QtCore/qset.h>
#include "qdbusargument.h"
#include "qdbusconnection_p.h"
#include "qdbusconnectionmanager_p.h"
#include "qdbusinterface_p.h"
#include "qdbusmessage.h"
#include "qdbusmetatype.h"
#include "qdbusmetatype_p.h"
#include "qdbusabstractadaptor.h"
#include "qdbusabstractadaptor_p.h"
#include "qdbusserver.h"
#include "qdbusutil_p.h"
#include "qdbusvirtualobject.h"
#include "qdbusmessage_p.h"
#include "qdbuscontext_p.h"
#include "qdbuspendingcall_p.h"
#include "qdbusthreaddebug_p.h"
#include <algorithm>
Include dependency graph for qdbusintegrator.cpp:

Go to the source code of this file.

Classes

class  QDBusSpyHookList
class  QDBusBlockingCallWatcher

Macros

#define qDBusDebug   if (::isDebugging.loadRelaxed() == 0); else qDebug

Functions

static QDebug operator<< (QDebug dbg, const QThread *th)
static dbus_bool_t qDBusAddTimeout (DBusTimeout *timeout, void *data)
static void qDBusRemoveTimeout (DBusTimeout *timeout, void *data)
static void qDBusToggleTimeout (DBusTimeout *timeout, void *data)
static dbus_bool_t qDBusAddWatch (DBusWatch *watch, void *data)
static void qDBusRemoveWatch (DBusWatch *watch, void *data)
static void qDBusToggleWatch (DBusWatch *watch, void *data)
static void qDBusUpdateDispatchStatus (DBusConnection *connection, DBusDispatchStatus new_status, void *data)
static void qDBusNewConnection (DBusServer *server, DBusConnection *connection, void *data)
static QByteArray buildMatchRule (const QString &service, const QString &objectPath, const QString &interface, const QString &member, const QDBusConnectionPrivate::ArgMatchRules &argMatch, const QString &)
static bool findObject (const QDBusConnectionPrivate::ObjectTreeNode *root, const QString &fullpath, int &usedLength, QDBusConnectionPrivate::ObjectTreeNode &result)
static QObjectfindChildObject (const QDBusConnectionPrivate::ObjectTreeNode *root, const QString &fullpath, int start)
static QDBusConnectionPrivate::ArgMatchRules matchArgsForService (const QString &service, QDBusServiceWatcher::WatchMode mode)
Q_DBUS_EXPORT void qDBusAddSpyHook (QDBusSpyCallEvent::Hook)
static DBusHandlerResult qDBusSignalFilter (DBusConnection *connection, DBusMessage *message, void *data)
static void huntAndDestroy (QObject *needle, QDBusConnectionPrivate::ObjectTreeNode &haystack)
static void huntAndUnregister (const QList< QStringView > &pathComponents, int i, QDBusConnection::UnregisterMode mode, QDBusConnectionPrivate::ObjectTreeNode *node)
static void huntAndEmit (DBusConnection *connection, DBusMessage *msg, QObject *needle, const QDBusConnectionPrivate::ObjectTreeNode &haystack, bool isScriptable, bool isAdaptor, const QString &path=QString())
static int findSlot (const QMetaObject *mo, const QByteArray &name, int flags, const QString &signature_, QList< QMetaType > &metaTypes)
static QDBusConnection::ConnectionCapabilities connectionCapabilities (DBusConnection *connection)
static void qDBusResultReceived (DBusPendingCall *pending, void *user_data)

Variables

static dbus_int32_t server_slot = -1
static Q_CONSTINIT QBasicAtomicInt isDebugging = Q_BASIC_ATOMIC_INITIALIZER(-1)
static QDBusCallDeliveryEvent *const DIRECT_DELIVERY = (QDBusCallDeliveryEvent *)1

Macro Definition Documentation

◆ qDBusDebug

#define qDBusDebug   if (::isDebugging.loadRelaxed() == 0); else qDebug

Definition at line 57 of file qdbusintegrator.cpp.

Function Documentation

◆ buildMatchRule()

QByteArray buildMatchRule ( const QString & service,
const QString & objectPath,
const QString & interface,
const QString & member,
const QDBusConnectionPrivate::ArgMatchRules & argMatch,
const QString &  )
static

Definition at line 339 of file qdbusintegrator.cpp.

◆ connectionCapabilities()

QDBusConnection::ConnectionCapabilities connectionCapabilities ( DBusConnection * connection)
static

Definition at line 1778 of file qdbusintegrator.cpp.

◆ findChildObject()

QObject * findChildObject ( const QDBusConnectionPrivate::ObjectTreeNode * root,
const QString & fullpath,
int start )
static

Definition at line 420 of file qdbusintegrator.cpp.

◆ findObject()

bool findObject ( const QDBusConnectionPrivate::ObjectTreeNode * root,
const QString & fullpath,
int & usedLength,
QDBusConnectionPrivate::ObjectTreeNode & result )
static

Definition at line 371 of file qdbusintegrator.cpp.

◆ findSlot()

int findSlot ( const QMetaObject * mo,
const QByteArray & name,
int flags,
const QString & signature_,
QList< QMetaType > & metaTypes )
static

Definition at line 666 of file qdbusintegrator.cpp.

◆ huntAndDestroy()

void huntAndDestroy ( QObject * needle,
QDBusConnectionPrivate::ObjectTreeNode & haystack )
static

Definition at line 590 of file qdbusintegrator.cpp.

◆ huntAndEmit()

void huntAndEmit ( DBusConnection * connection,
DBusMessage * msg,
QObject * needle,
const QDBusConnectionPrivate::ObjectTreeNode & haystack,
bool isScriptable,
bool isAdaptor,
const QString & path = QString() )
static

Definition at line 632 of file qdbusintegrator.cpp.

References dbus_connection_send, dbus_message_copy, and dbus_message_unref.

◆ huntAndUnregister()

void huntAndUnregister ( const QList< QStringView > & pathComponents,
int i,
QDBusConnection::UnregisterMode mode,
QDBusConnectionPrivate::ObjectTreeNode * node )
static

Definition at line 604 of file qdbusintegrator.cpp.

◆ matchArgsForService()

QDBusConnectionPrivate::ArgMatchRules matchArgsForService ( const QString & service,
QDBusServiceWatcher::WatchMode mode )
static

Definition at line 460 of file qdbusintegrator.cpp.

◆ operator<<()

QDebug operator<< ( QDebug dbg,
const QThread * th )
inlinestatic

Definition at line 59 of file qdbusintegrator.cpp.

◆ qDBusAddSpyHook()

void qDBusAddSpyHook ( QDBusSpyCallEvent::Hook hook)
extern

Definition at line 487 of file qdbusintegrator.cpp.

◆ qDBusAddTimeout()

dbus_bool_t qDBusAddTimeout ( DBusTimeout * timeout,
void * data )
static

Definition at line 139 of file qdbusintegrator.cpp.

References dbus_timeout_get_enabled.

Referenced by qDBusToggleTimeout().

Here is the caller graph for this function:

◆ qDBusAddWatch()

dbus_bool_t qDBusAddWatch ( DBusWatch * watch,
void * data )
static

Definition at line 197 of file qdbusintegrator.cpp.

References dbus_watch_get_unix_fd.

◆ qDBusNewConnection()

void qDBusNewConnection ( DBusServer * server,
DBusConnection * connection,
void * data )
static

Definition at line 287 of file qdbusintegrator.cpp.

References QDBusConnectionManager::instance().

Here is the call graph for this function:

◆ qDBusRemoveTimeout()

void qDBusRemoveTimeout ( DBusTimeout * timeout,
void * data )
static

Definition at line 164 of file qdbusintegrator.cpp.

Referenced by qDBusToggleTimeout().

Here is the caller graph for this function:

◆ qDBusRemoveWatch()

void qDBusRemoveWatch ( DBusWatch * watch,
void * data )
static

Definition at line 229 of file qdbusintegrator.cpp.

References dbus_watch_get_unix_fd.

◆ qDBusResultReceived()

void qDBusResultReceived ( DBusPendingCall * pending,
void * user_data )
static

Definition at line 1867 of file qdbusintegrator.cpp.

References QDBusPendingCallPrivate::pending.

◆ qDBusSignalFilter()

DBusHandlerResult qDBusSignalFilter ( DBusConnection * connection,
DBusMessage * message,
void * data )
static

Definition at line 521 of file qdbusintegrator.cpp.

◆ qDBusToggleTimeout()

void qDBusToggleTimeout ( DBusTimeout * timeout,
void * data )
static

Definition at line 186 of file qdbusintegrator.cpp.

References qDBusAddTimeout(), and qDBusRemoveTimeout().

Here is the call graph for this function:

◆ qDBusToggleWatch()

void qDBusToggleWatch ( DBusWatch * watch,
void * data )
static

Definition at line 252 of file qdbusintegrator.cpp.

References dbus_watch_get_unix_fd.

◆ qDBusUpdateDispatchStatus()

void qDBusUpdateDispatchStatus ( DBusConnection * connection,
DBusDispatchStatus new_status,
void * data )
static

Definition at line 279 of file qdbusintegrator.cpp.

Variable Documentation

◆ DIRECT_DELIVERY

QDBusCallDeliveryEvent *const DIRECT_DELIVERY = (QDBusCallDeliveryEvent *)1
static

Definition at line 786 of file qdbusintegrator.cpp.

◆ isDebugging

Q_CONSTINIT QBasicAtomicInt isDebugging = Q_BASIC_ATOMIC_INITIALIZER(-1)
static

Definition at line 56 of file qdbusintegrator.cpp.

◆ server_slot

dbus_int32_t server_slot = -1
static

Definition at line 52 of file qdbusintegrator.cpp.