![]() |
Qt 6.x
The Qt SDK
|
#include "qdbusintegrator_p.h"
#include <qcoreapplication.h>
#include <qelapsedtimer.h>
#include <qloggingcategory.h>
#include <qmetaobject.h>
#include <qobject.h>
#include <qsocketnotifier.h>
#include <qstringlist.h>
#include <qtimer.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>
Go to the source code of this file.
Classes | |
class | QDBusBlockingCallWatcher |
Macros | |
#define | qDBusDebug if (::isDebugging.loadRelaxed() == 0); else qDebug |
Typedefs | |
typedef QVarLengthArray< QDBusSpyCallEvent::Hook, 4 > | QDBusSpyHookList |
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 |
Definition at line 56 of file qdbusintegrator.cpp.
typedef QVarLengthArray<QDBusSpyCallEvent::Hook, 4> QDBusSpyHookList |
Definition at line 104 of file qdbusintegrator.cpp.
|
static |
Definition at line 308 of file qdbusintegrator.cpp.
References QString::arg(), QDBusConnectionPrivate::ArgMatchRules::arg0namespace, QDBusConnectionPrivate::ArgMatchRules::args, QString::chop(), i, interface, and QString::isEmpty().
Referenced by QDBusConnectionPrivate::prepareHook().
|
static |
Definition at line 1737 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::connection, DBUS_TYPE_UNIX_FD, qdbus_resolve_conditionally, and QDBusConnection::UnixFileDescriptorPassing.
Referenced by QDBusConnectionPrivate::relaySignal().
|
static |
Definition at line 389 of file qdbusintegrator.cpp.
References child, QDBusConnection::ExportChildObjects, QDBusConnectionPrivate::ObjectTreeNode::flags, QString::indexOf(), QString::mid(), next, QDBusConnectionPrivate::ObjectTreeNode::obj, pos, and QString::size().
|
static |
Definition at line 340 of file qdbusintegrator.cpp.
References QString::at(), QDBusConnectionPrivate::ObjectTreeNode::children, QString::compare(), QList< T >::constBegin(), QList< T >::constEnd(), QDBusConnection::ExportChildObjects, QDBusConnectionPrivate::ObjectTreeNode::flags, QString::indexOf(), QList< T >::isEmpty(), it, QString::mid(), QDBusConnectionPrivate::ObjectTreeNode::obj, QString::size(), QDBusConnection::SubPath, and QDBusConnectionPrivate::VirtualObject.
|
static |
Definition at line 631 of file qdbusintegrator.cpp.
References QMetaMethod::access(), QList< T >::at(), QMetaMethod::attributes(), QDBusConnection::ExportNonScriptableInvokables, QDBusConnection::ExportNonScriptableSlots, QDBusConnection::ExportScriptableInvokables, QDBusConnection::ExportScriptableSlots, i, QMetaType::id(), QMetaType::isValid(), j, QDBusMetaTypeId::message(), QMetaMethod::Method, QMetaMethod::methodType(), mo, QMetaMethod::name(), ok, QMetaMethod::Public, qDBusCheckAsyncTag(), qDBusParametersForMethod(), QMetaMethod::returnMetaType(), QMetaMethod::Scriptable, QList< T >::size(), QMetaMethod::Slot, QByteArray::startsWith(), QMetaMethod::tag(), QString::toLatin1(), and QDBusMetaType::typeToSignature().
|
static |
Definition at line 555 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::ObjectTreeNode::children, QDBusConnectionPrivate::ObjectTreeNode::flags, huntAndDestroy(), QDBusConnectionPrivate::ObjectTreeNode::obj, and QList< T >::removeIf().
Referenced by huntAndDestroy(), and QDBusConnectionPrivate::objectDestroyed().
|
static |
Definition at line 597 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::ObjectTreeNode::children, connection, QThread::currentThread(), QDBusConnection::ExportAdaptors, QDBusConnection::ExportNonScriptableSignals, QDBusConnection::ExportScriptableSignals, QDBusConnectionPrivate::ObjectTreeNode::flags, huntAndEmit(), QDBusConnectionPrivate::ObjectTreeNode::obj, and qDBusDebug.
Referenced by huntAndEmit(), and QDBusConnectionPrivate::relaySignal().
|
static |
Definition at line 569 of file qdbusintegrator.cpp.
References QList< T >::at(), QList< T >::begin(), QDBusConnectionPrivate::ObjectTreeNode::children, QList< T >::clear(), QList< T >::end(), QList< T >::erase(), QDBusConnectionPrivate::ObjectTreeNode::flags, huntAndUnregister(), i, it, QDBusConnectionPrivate::ObjectTreeNode::obj, QList< T >::size(), and QDBusConnection::UnregisterTree.
Referenced by huntAndUnregister().
|
static |
Definition at line 429 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::ArgMatchRules::arg0namespace, QDBusConnectionPrivate::ArgMatchRules::args, QString::fromLatin1(), QDBusServiceWatcher::WatchForOwnerChange, QDBusServiceWatcher::WatchForRegistration, and QDBusServiceWatcher::WatchForUnregistration.
Definition at line 58 of file qdbusintegrator.cpp.
References QString::isEmpty(), and QObject::objectName.
void qDBusAddSpyHook | ( | QDBusSpyCallEvent::Hook | hook | ) |
Definition at line 456 of file qdbusintegrator.cpp.
|
static |
Definition at line 111 of file qdbusintegrator.cpp.
References QThread::currentThread(), d, Q_ASSERT, Q_ASSERT_X, and Q_UNLIKELY.
Referenced by qDBusToggleTimeout(), QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
|
static |
Definition at line 169 of file qdbusintegrator.cpp.
References QSocketNotifier::activated(), QThread::currentThread(), d, DBUS_WATCH_READABLE, DBUS_WATCH_WRITABLE, Q_ASSERT, QSocketNotifier::Read, QDBusConnectionPrivate::socketRead(), QDBusConnectionPrivate::socketWrite(), watch, watcher, and QSocketNotifier::Write.
Referenced by QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
|
static |
Definition at line 260 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::anonymousAuthenticationAllowed, connection, emit, QDBusConnectionPrivate::enableDispatchDelayed(), error, QDBusConnectionManager::instance(), QDBusConnectionPrivate::lock, mutex, QDBusConnectionPrivate::name, QDBusConnectionPrivate::newServerConnection(), QString::number(), QObject::parent(), Q_ASSERT, Q_UNUSED, server, QDBusConnectionPrivate::serverConnectionNames, QDBusConnectionPrivate::serverObject, QDBusConnectionManager::setConnection(), QDBusConnectionPrivate::setDispatchEnabled(), and QDBusConnectionPrivate::setPeer().
Referenced by QDBusConnectionPrivate::setServer().
Definition at line 136 of file qdbusintegrator.cpp.
References QThread::currentThread(), d, it, QHash< int, DBusTimeout * >::iterator, and Q_ASSERT.
Referenced by qDBusToggleTimeout(), QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
Definition at line 201 of file qdbusintegrator.cpp.
References QThread::currentThread(), d, i, QMultiHash< qintptr, Watcher >::iterator, Q_ASSERT, and watch.
Referenced by QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
Definition at line 1826 of file qdbusintegrator.cpp.
References pending, QDBusPendingCallPrivate::pending, QDBusConnectionPrivate::processFinishedCall(), Q_ASSERT, Q_UNUSED, and user_data.
|
static |
Definition at line 485 of file qdbusintegrator.cpp.
References connection, d, DBUS_HANDLER_RESULT_HANDLED, DBUS_HANDLER_RESULT_NOT_YET_HANDLED, QDBusMessagePrivate::fromDBusMessage(), QDBusConnectionPrivate::InvalidMode, Q_ASSERT, Q_UNUSED, and qDBusDebug.
Referenced by QDBusConnectionPrivate::setConnection(), and QDBusConnectionPrivate::setPeer().
Definition at line 158 of file qdbusintegrator.cpp.
References Q_ASSERT, qDBusAddTimeout(), and qDBusRemoveTimeout().
Referenced by QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
Definition at line 224 of file qdbusintegrator.cpp.
References QThread::currentThread(), d, DBUS_WATCH_READABLE, DBUS_WATCH_WRITABLE, i, QMultiHash< qintptr, Watcher >::iterator, Q_ASSERT, and watch.
Referenced by QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
|
static |
Definition at line 251 of file qdbusintegrator.cpp.
References connection, d, DBUS_DISPATCH_DATA_REMAINS, emit, Q_ASSERT, and Q_UNUSED.
Referenced by QDBusConnectionPrivate::setConnection(), and QDBusConnectionPrivate::setPeer().
|
static |
Definition at line 741 of file qdbusintegrator.cpp.
Referenced by QDBusConnectionPrivate::prepareReply().
|
static |
Definition at line 55 of file qdbusintegrator.cpp.
Referenced by QDBusConnectionPrivate::QDBusConnectionPrivate().
|
static |
Definition at line 51 of file qdbusintegrator.cpp.
Referenced by QDBusConnectionPrivate::closeConnection(), and QDBusConnectionPrivate::setServer().