8#include "dtkcore_global.h"
11#include <QDBusConnection>
12#include <QDBusPendingCall>
13#include <QDBusInterface>
21 QDBusPendingCall asyncCallWithArguments(
const QString &method,
const QVariantList &arguments,
const QString &iface = QString());
41 explicit DDBusCaller(
const QString &method, std::shared_ptr<DDBusData> data);
44 std::shared_ptr<DDBusData> m_dbusData;
46 QVariantList m_arguments;
52 m_arguments << QVariant::fromValue(argument);
62 QDBusPendingCall
get();
64 QDBusPendingCall set(
const T &value);
67 explicit DDBusProperty(
const QString &property, std::shared_ptr<DDBusData> data);
70 std::shared_ptr<DDBusData> m_dbusData;
71 QString m_propertyName;
77 QVariantList args{QVariant::fromValue(m_dbusData->interface), QVariant::fromValue(m_propertyName), QVariant::fromValue(QDBusVariant(value))};
78 return m_dbusData->asyncCallWithArguments(QStringLiteral(
"Set"), args, QStringLiteral(
"org.freedesktop.DBus.Properties"));
94 DDBusSender type(
const QDBusConnection::BusType busType);
97 std::shared_ptr<DDBusData> m_dbusData;
DBus接口调用工具类
Definition ddbussender.h:31
QDBusPendingCall call()
发起实际调用
DDBusCaller arg(const T &argument)
添加调用参数
Definition ddbussender.h:50
DBus数据存储类
Definition ddbussender.h:18
QString service
请求调用服务名
Definition ddbussender.h:23
QString path
请求调用对象路径
Definition ddbussender.h:24
QDBusConnection connection
进行调用的维护的DBus连接
Definition ddbussender.h:27
QString interface
请求调用接口名
Definition ddbussender.h:25
QString queryName
请求调用函数名
Definition ddbussender.h:26
DBus属性操作对象
Definition ddbussender.h:58
QDBusPendingCall get()
获取属性值
QDBusPendingCall set(const T &value)
设置属性值
Definition ddbussender.h:75
DBus请求工具类
Definition ddbussender.h:82
DDBusCaller method(const QString &method)
设置请求方法名并获取请求调用对象
DDBusSender interface(const QString &interface)
设置请求接口名
DDBusProperty property(const QString &property)
设置访问的属性名并获得属性操作对象
DDBusSender service(const QString &service)
设置请求服务名
static DDBusSender system()
获取 systembus 访问的能力
DDBusSender path(const QString &path)
设置请求对象路径