Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#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 | QDBusSpyHookList |
class | QDBusBlockingCallWatcher |
Macros | |
#define | qDBusDebug if (::isDebugging.loadRelaxed() == 0); else qDebug |
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.
Referenced by QDBusSpyCallEvent::~QDBusSpyCallEvent(), QDBusConnectionPrivate::closeConnection(), QDBusConnectionPrivate::doDispatch(), QDBusConnectionPrivate::handleMessage(), huntAndEmit(), QDBusConnectionPrivate::processFinishedCall(), qDBusSignalFilter(), QDBusConnectionPrivate::send(), QDBusConnectionPrivate::sendWithReplyLocal(), and QDBusConnectionPrivate::setConnection().
|
static |
Definition at line 338 of file qdbusintegrator.cpp.
References QString::arg(), QString::chop(), i, interface, and QString::isEmpty().
Referenced by QDBusConnectionPrivate::prepareHook().
|
static |
Definition at line 1770 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 419 of file qdbusintegrator.cpp.
References child, QDBusConnection::ExportChildObjects, QDBusConnectionPrivate::ObjectTreeNode::flags, QStringView::mid(), next, QDBusConnectionPrivate::ObjectTreeNode::obj, and pos.
|
static |
Definition at line 370 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::ObjectTreeNode::children, QList< T >::constBegin(), QList< T >::constEnd(), QDBusConnection::ExportChildObjects, QDBusConnectionPrivate::ObjectTreeNode::flags, QList< T >::isEmpty(), it, QStringView::mid(), QDBusConnectionPrivate::ObjectTreeNode::obj, QDBusConnection::SubPath, and QDBusConnectionPrivate::VirtualObject.
|
static |
Definition at line 665 of file qdbusintegrator.cpp.
References QMetaMethod::access(), 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, qCWarning, qDBusCheckAsyncTag(), qDBusParametersForMethod(), qUtf16Printable, QMetaMethod::returnMetaType(), QMetaMethod::Scriptable, QMetaMethod::Slot, QMetaMethod::tag(), and QDBusMetaType::typeToSignature().
|
static |
Definition at line 589 of file qdbusintegrator.cpp.
References huntAndDestroy().
Referenced by huntAndDestroy(), and QDBusConnectionPrivate::objectDestroyed().
|
static |
Definition at line 631 of file qdbusintegrator.cpp.
References connection, QThread::currentThread(), QDBusConnection::ExportAdaptors, QDBusConnection::ExportNonScriptableSignals, QDBusConnection::ExportScriptableSignals, huntAndEmit(), and qDBusDebug.
Referenced by huntAndEmit(), and QDBusConnectionPrivate::relaySignal().
|
static |
Definition at line 603 of file qdbusintegrator.cpp.
References QList< T >::begin(), QDBusConnectionPrivate::ObjectTreeNode::children, QList< T >::clear(), QList< T >::end(), QList< T >::erase(), QDBusConnectionPrivate::ObjectTreeNode::flags, huntAndUnregister(), i, it, QDBusConnectionPrivate::ObjectTreeNode::obj, and QDBusConnection::UnregisterTree.
Referenced by huntAndUnregister().
|
static |
Definition at line 459 of file qdbusintegrator.cpp.
References QDBusConnectionPrivate::ArgMatchRules::arg0namespace, QString::fromLatin1(), QDBusServiceWatcher::WatchForOwnerChange, QDBusServiceWatcher::WatchForRegistration, and QDBusServiceWatcher::WatchForUnregistration.
Definition at line 58 of file qdbusintegrator.cpp.
|
extern |
Definition at line 486 of file qdbusintegrator.cpp.
References hooks.
|
static |
Definition at line 138 of file qdbusintegrator.cpp.
References QThread::currentThread(), d, Q_ASSERT, and Q_UNLIKELY.
Referenced by qDBusToggleTimeout(), QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
|
static |
Definition at line 196 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 286 of file qdbusintegrator.cpp.
References connection, QDBusConnectionPrivate::enableDispatchDelayed(), error, QDBusConnectionManager::instance(), QMetaObject::invokeMethod(), manager, QDBusConnectionPrivate::name, QDBusServer::newConnection(), QString::number(), QDBusConnectionPrivate::q(), Q_ASSERT, Qt::QueuedConnection, server, QDBusConnectionPrivate::setDispatchEnabled(), and QDBusConnectionPrivate::setPeer().
Referenced by QDBusConnectionPrivate::setServer().
Definition at line 163 of file qdbusintegrator.cpp.
References QSet< T >::begin(), QThread::currentThread(), d, QSet< T >::end(), QSet< T >::erase(), it, QHash< int, DBusTimeout * >::iterator, and Q_ASSERT.
Referenced by qDBusToggleTimeout(), QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
Definition at line 228 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 1859 of file qdbusintegrator.cpp.
References pending, QDBusPendingCallPrivate::pending, QDBusConnectionPrivate::processFinishedCall(), Q_ASSERT, and user_data.
|
static |
Definition at line 520 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 185 of file qdbusintegrator.cpp.
References Q_ASSERT, qDBusAddTimeout(), and qDBusRemoveTimeout().
Referenced by QDBusConnectionPrivate::setConnection(), QDBusConnectionPrivate::setPeer(), and QDBusConnectionPrivate::setServer().
Definition at line 251 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 278 of file qdbusintegrator.cpp.
References connection, d, DBUS_DISPATCH_DATA_REMAINS, emit, and Q_ASSERT.
Referenced by QDBusConnectionPrivate::setConnection(), and QDBusConnectionPrivate::setPeer().
|
static |
Definition at line 785 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().