26#include <org_aethercast.h>
27#include <freedesktop_properties.h>
29class Displays :
public QObject
33 Q_PROPERTY (
bool scanning
35 NOTIFY scanningChanged)
37 Q_PROPERTY (
bool enabled
40 NOTIFY enabledChanged)
42 Q_PROPERTY (QString state
47 enum State { Idle=1, Disconnected=2, Association=4, Configuration=8, Connected=16, Failure=32 };
49 Q_DECLARE_FLAGS(States, State)
51 explicit Displays(QObject *parent =
nullptr);
52 explicit Displays(
const QDBusConnection &dbus, QObject *parent =
nullptr);
67 void setProperties(
const QMap<QString,QVariant> &properties);
68 bool scanning()
const {
return m_manager->scanning(); }
69 bool enabled()
const {
return m_manager->enabled(); }
70 void setEnabled(
bool);
71 QString state()
const {
return m_manager->state(); }
74 void scanningChanged(
bool isActive);
75 void enabledChanged(
bool enabled);
77 void connectedDevicesChanged();
78 void disconnectedDevicesChanged();
79 void connectError(
int error);
82 void slotPropertiesChanged(
const QString &interface,
const QVariantMap &changedProperties,
83 const QStringList &invalidatedProperties);
84 void callFinishedSlot(QDBusPendingCallWatcher *call);
89 QDBusConnection m_dbus;
90 QScopedPointer<OrgAethercastManagerInterface> m_manager;
91 QScopedPointer<OrgFreedesktopDBusPropertiesInterface> m_aethercastProperties;
92 void updateProperties(QSharedPointer<QDBusInterface>);
93 void updateProperty(
const QString &key,
const QVariant &value);
94 void handleConnectError(QDBusError error);