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
qdbusconnectionmanager_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2016 Intel Corporation.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4// Qt-Security score:significant reason:default
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the public API. This header file may
11// change from version to version without notice, or even be
12// removed.
13//
14// We mean it.
15//
16//
17
18#ifndef QDBUSCONNECTIONMANAGER_P_H
19#define QDBUSCONNECTIONMANAGER_P_H
20
21#include <QtDBus/private/qtdbusglobal_p.h>
23#include "private/qthread_p.h"
24
25#ifndef QT_NO_DBUS
26
27QT_BEGIN_NAMESPACE
28
29class QDBusServer;
30
32{
34public:
38
39 QDBusConnectionPrivate *busConnection(QDBusConnection::BusType type);
40 QDBusConnectionPrivate *existingConnection(const QString &name) const;
41
42 void removeConnections(const QStringList &names);
43 void disconnectFrom(const QString &name, QDBusConnectionPrivate::ConnectionMode mode);
44 void addConnection(const QString &name, QDBusConnectionPrivate *c);
45
46 QDBusConnectionPrivate *connectToBus(QDBusConnection::BusType type, const QString &name, bool suspendedDelivery);
47 QDBusConnectionPrivate *connectToBus(const QString &address, const QString &name);
48 QDBusConnectionPrivate *connectToPeer(const QString &address, const QString &name);
49
50 void createServer(const QString &address, QDBusServer *server);
51
52protected:
53 void run() override;
54
55private:
56 QDBusConnectionPrivate *doConnectToStandardBus(QDBusConnection::BusType type,
57 const QString &name, bool suspendedDelivery);
58 QDBusConnectionPrivate *doConnectToBus(const QString &address, const QString &name);
59 QDBusConnectionPrivate *doConnectToPeer(const QString &address, const QString &name);
60
61 mutable QMutex mutex;
62 QHash<QString, QDBusConnectionPrivate *> connectionHash;
63 QDBusConnectionPrivate *connection(const QString &name) const;
64 void removeConnection(const QString &name);
65 void setConnection(const QString &name, QDBusConnectionPrivate *c);
66
67 QMutex defaultBusMutex;
68 QDBusConnectionPrivate *defaultBuses[2];
69};
70
71QT_END_NAMESPACE
72
73#endif // QT_NO_DBUS
74#endif
static QDBusConnectionManager * instance()
QDBusConnectionPrivate * busConnection(QDBusConnection::BusType type)
void removeConnections(const QStringList &names)