diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2016-02-11 23:55:16 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2016-02-11 23:55:16 +0100 |
| commit | 29aaea2d80a9eb1715b6cddfac2d2aacf76358bd (patch) | |
| tree | 012795b6bec16c72f38d33cff46324c9a0225868 /rockworkd/dbusinterface.h | |
launchpad ~mzanetti/rockwork/trunk r87
Diffstat (limited to 'rockworkd/dbusinterface.h')
| -rw-r--r-- | rockworkd/dbusinterface.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/rockworkd/dbusinterface.h b/rockworkd/dbusinterface.h new file mode 100644 index 0000000..0c340f2 --- /dev/null +++ b/rockworkd/dbusinterface.h @@ -0,0 +1,102 @@ +#ifndef DBUSINTERFACE_H +#define DBUSINTERFACE_H + +#include <QObject> +#include <QDBusAbstractAdaptor> +#include <QDBusObjectPath> + +class Pebble; + +class DBusPebble: public QObject +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.rockwork.Pebble") +public: + DBusPebble(Pebble *pebble, QObject *parent); + +signals: + void Connected(); + void Disconnected(); + void NotificationFilterChanged(const QString &sourceId, bool enabled); + void InstalledAppsChanged(); + void OpenURL(const QString &uuid, const QString &url); + void ScreenshotAdded(const QString &filename); + void ScreenshotRemoved(const QString &filename); + void FirmwareUpgradeAvailableChanged(); + void UpgradingFirmwareChanged(); + void LogsDumped(bool success); + + void HealthParamsChanged(); + void ImperialUnitsChanged(); + void CalendarSyncEnabledChanged(); + +public slots: + QString Address() const; + QString Name() const; + QString SerialNumber() const; + QString HardwarePlatform() const; + QString SoftwareVersion() const; + int Model() const; + bool IsConnected() const; + bool Recovery() const; + bool FirmwareUpgradeAvailable() const; + QString CandidateFirmwareVersion() const; + QString FirmwareReleaseNotes() const; + void PerformFirmwareUpgrade(); + bool UpgradingFirmware() const; + + QVariantMap NotificationsFilter() const; + void SetNotificationFilter(const QString &sourceId, bool enabled); + + void InstallApp(const QString &id); + void SideloadApp(const QString &packageFile); + QStringList InstalledAppIds() const; + QVariantList InstalledApps() const; + void RemoveApp(const QString &id); + void ConfigurationURL(const QString &uuid); + void ConfigurationClosed(const QString &uuid, const QString &result); + void SetAppOrder(const QStringList &newList); + void LaunchApp(const QString &uuid); + void RequestScreenshot(); + QStringList Screenshots() const; + void RemoveScreenshot(const QString &filename); + void DumpLogs(const QString &fileName) const; + + QVariantMap HealthParams() const; + void SetHealthParams(const QVariantMap &healthParams); + + bool ImperialUnits() const; + void SetImperialUnits(bool imperialUnits); + + bool CalendarSyncEnabled() const; + void SetCalendarSyncEnabled(bool enabled); + +private: + Pebble *m_pebble; +}; + +class DBusInterface : public QObject +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.rockwork.Manager") + +public: + explicit DBusInterface(QObject *parent = 0); + +public slots: + Q_SCRIPTABLE QString Version(); + Q_SCRIPTABLE QList<QDBusObjectPath> ListWatches(); + +signals: + Q_SCRIPTABLE void PebblesChanged(); + void NameChanged(); + +private slots: + void pebbleAdded(Pebble *pebble); + void pebbleRemoved(Pebble *pebble); + +private: + QHash<QString, DBusPebble*> m_dbusPebbles; +}; + +#endif // DBUSINTERFACE_H |
