47 public QDBusAbstractInterfaceBase
53 virtual ~QDBusAbstractInterface();
56 QDBusConnection connection()
const;
58 QString service()
const;
60 QString interface()
const;
62 QDBusError lastError()
const;
64 void setTimeout(
int timeout);
67 void setInteractiveAuthorizationAllowed(
bool enable);
68 bool isInteractiveAuthorizationAllowed()
const;
70 QDBusMessage call(
const QString &method)
72 return doCall(QDBus::AutoDetect, method,
nullptr, 0);
75 template <
typename...Args>
76 QDBusMessage call(
const QString &method, Args &&...args)
78 const QVariant variants[] = { QVariant(std::forward<Args>(args))... };
79 return doCall(QDBus::AutoDetect, method, variants,
sizeof...(args));
82 QDBusMessage call(QDBus::CallMode mode,
const QString &method)
84 return doCall(mode, method,
nullptr, 0);
87 template <
typename...Args>
88 QDBusMessage call(QDBus::CallMode mode,
const QString &method, Args &&...args)
90 const QVariant variants[] = { QVariant(std::forward<Args>(args))... };
91 return doCall(mode, method, variants,
sizeof...(args));
94 QDBusMessage callWithArgumentList(QDBus::CallMode mode,
95 const QString &method,
96 const QList<QVariant> &args);
98 bool callWithCallback(
const QString &method,
99 const QList<QVariant> &args,
100 QObject *receiver,
const char *member,
const char *errorSlot);
101 bool callWithCallback(
const QString &method,
102 const QList<QVariant> &args,
103 QObject *receiver,
const char *member);
105 QDBusPendingCall asyncCall(
const QString &method)
107 return doAsyncCall(method,
nullptr, 0);
110 template <
typename...Args>
111 QDBusPendingCall asyncCall(
const QString &method, Args&&...args)
113 const QVariant variants[] = { QVariant(std::forward<Args>(args))... };
114 return doAsyncCall(method, variants,
sizeof...(args));
117 QDBusPendingCall asyncCallWithArgumentList(
const QString &method,
118 const QList<QVariant> &args);
121 QDBusAbstractInterface(
const QString &service,
const QString &path,
const char *interface,
122 const QDBusConnection &connection, QObject *parent);
123 QDBusAbstractInterface(QDBusAbstractInterfacePrivate &, QObject *parent);
125 void connectNotify(
const QMetaMethod &signal) override;
126 void disconnectNotify(
const QMetaMethod &signal) override;
127 QVariant internalPropGet(
const char *propname)
const;
128 void internalPropSet(
const char *propname,
const QVariant &value);
129 QDBusMessage internalConstCall(QDBus::CallMode mode,
130 const QString &method,
131 const QList<QVariant> &args = QList<QVariant>())
const;
134 QDBusMessage doCall(QDBus::CallMode mode,
const QString &method,
const QVariant *args, size_t numArgs);
135 QDBusPendingCall doAsyncCall(
const QString &method,
const QVariant *args, size_t numArgs);
138 Q_DECLARE_PRIVATE(QDBusAbstractInterface)
139 Q_PRIVATE_SLOT(d_func(),
void _q_serviceOwnerChanged(QString,QString,QString))