10#include <private/qproperty_p.h>
11#include <private/qobject_p.h>
12#include <private/qdbusconnection_p.h>
29 q_func()->setWatchedServices(
list);
37 q_func()->setWatchMode(
mode);
49void QDBusServiceWatcherPrivate::_q_serviceOwnerChanged(
const QString &service,
const QString &oldOwner,
const QString &newOwner)
52 emit q->serviceOwnerChanged(service, oldOwner, newOwner);
54 emit q->serviceRegistered(service);
56 emit q->serviceUnregistered(service);
61 QDBusServiceWatcher::WatchMode wm)
65 for (
const QString &
s : std::as_const(watchedServicesData.value()))
70 watchMode.setValueBypassingBindings(wm);
71 watchedServicesData.setValueBypassingBindings(
services);
75 for (
const QString &
s : std::as_const(watchedServicesData.value()))
83 if (
d &&
d->shouldWatchService(service))
90 if (
d &&
d->shouldWatchService(service))
246 return d_func()->watchedServicesData;
262 d->watchedServicesData.removeBindingUnlessInWrapper();
265 d->setConnection(
services,
d->connection,
d->watchMode);
266 d->watchedServicesData.notify();
272 return &
d->watchedServicesData;
285 d->watchedServicesData.removeBindingUnlessInWrapper();
286 if (
d->watchedServicesData.value().contains(newService))
288 d->addService(newService);
290 auto templist =
d->watchedServicesData.valueBypassingBindings();
291 templist << newService;
292 d->watchedServicesData.setValueBypassingBindings(templist);
294 d->watchedServicesData.notify();
310 d->watchedServicesData.removeBindingUnlessInWrapper();
311 d->removeService(service);
312 auto tempList =
d->watchedServicesData.value();
313 bool result = tempList.removeOne(service);
315 d->watchedServicesData.setValueBypassingBindings(tempList);
316 d->watchedServicesData.notify();
326 return d_func()->watchMode;
331 return &d_func()->watchMode;
337 d->watchMode.removeBindingUnlessInWrapper();
338 if (
mode ==
d->watchMode.value())
340 d->setConnection(
d->watchedServicesData,
d->connection,
mode);
341 d->watchMode.notify();
351 return d_func()->connection;
371 d->setConnection(
d->watchedServicesData,
connection,
d->watchMode);
378#include "moc_qdbusservicewatcher.cpp"
std::vector< ObjCStrongReference< CBMutableService > > services
static QDBusConnectionPrivate * d(const QDBusConnection &q)
void setWatchedServicesForwardToQ(const QStringList &list)
QDBusServiceWatcherPrivate(const QDBusConnection &c, QDBusServiceWatcher::WatchMode wm)
void addService(const QString &service)
void setWatchModeForwardToQ(QDBusServiceWatcher::WatchMode mode)
Q_OBJECT_COMPAT_PROPERTY(QDBusServiceWatcherPrivate, QStringList, watchedServicesData, &QDBusServiceWatcherPrivate::setWatchedServicesForwardToQ) QDBusConnection connection
const QString const QString &void setConnection(const QStringList &services, const QDBusConnection &c, QDBusServiceWatcher::WatchMode watchMode)
Q_OBJECT_COMPAT_PROPERTY(QDBusServiceWatcherPrivate, QDBusServiceWatcher::WatchMode, watchMode, &QDBusServiceWatcherPrivate::setWatchModeForwardToQ) void _q_serviceOwnerChanged(const QString &
void removeService(const QString &service)
The QDBusServiceWatcher class allows the user to watch for a bus service change.
bool removeWatchedService(const QString &service)
Removes the service from the list of services being watched by this object.
QStringList watchedServices
the list of services watched.
~QDBusServiceWatcher()
Destroys the QDBusServiceWatcher object and releases any resources associated with it.
void setConnection(const QDBusConnection &connection)
Sets the D-Bus connection that this object is attached to be connection.
QBindable< QStringList > bindableWatchedServices()
QDBusConnection connection() const
Returns the QDBusConnection that this object is attached to.
WatchMode watchMode
the current watch mode for this QDBusServiceWatcher object.
QDBusServiceWatcher(QObject *parent=nullptr)
Creates a QDBusServiceWatcher object.
void addWatchedService(const QString &newService)
Adds newService to the list of services to be watched by this object.
void setWatchMode(WatchMode mode)
QBindable< WatchMode > bindableWatchMode()
void setWatchedServices(const QStringList &services)
Sets the list of D-Bus services being watched to be services.
\macro QT_RESTRICTED_CAST_FROM_ASCII
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Combined button and popup list for selecting options.
DBusConnection * connection
GLdouble GLdouble GLdouble GLdouble q
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent