From 29aaea2d80a9eb1715b6cddfac2d2aacf76358bd Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 11 Feb 2016 23:55:16 +0100 Subject: launchpad ~mzanetti/rockwork/trunk r87 --- .../platformintegration/ubuntu/ubuntuplatform.h | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 rockworkd/platformintegration/ubuntu/ubuntuplatform.h (limited to 'rockworkd/platformintegration/ubuntu/ubuntuplatform.h') diff --git a/rockworkd/platformintegration/ubuntu/ubuntuplatform.h b/rockworkd/platformintegration/ubuntu/ubuntuplatform.h new file mode 100644 index 0000000..5679a42 --- /dev/null +++ b/rockworkd/platformintegration/ubuntu/ubuntuplatform.h @@ -0,0 +1,62 @@ +#ifndef UBUNTUPLATFORM_H +#define UBUNTUPLATFORM_H + +#include "libpebble/platforminterface.h" +#include "libpebble/enums.h" + +#include +#include + +#include +#include + +class QDBusPendingCallWatcher; +class TelepathyMonitor; +class OrganizerAdapter; +class SyncMonitorClient; + +class UbuntuPlatform : public PlatformInterface, public QDBusContext +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Notifications") + Q_PROPERTY(QDBusInterface* interface READ interface) + + +public: + UbuntuPlatform(QObject *parent = 0); + QDBusInterface* interface() const; + + void sendMusicControlCommand(MusicControlButton controlButton) override; + MusicMetaData musicMetaData() const override; + + void hangupCall(uint cookie) override; + + QList organizerItems() const override; + + void actionTriggered(const QString &actToken) override; + +public slots: + uint Notify(const QString &app_name, uint replaces_id, const QString &app_icon, const QString &summary, const QString &body, const QStringList &actions, const QVariantHash &hints, int expire_timeout); + + +private slots: + void setupMusicService(); + void fetchMusicMetadata(); + void fetchMusicMetadataFinished(QDBusPendingCallWatcher *watcher); + void mediaPropertiesChanged(const QString &interface, const QVariantMap &changedProps, const QStringList &invalidatedProps); + +private: + QDBusInterface *m_iface; + + QString m_mprisService; + MusicMetaData m_musicMetaData; + QDBusActionGroup m_volumeActionGroup; + QStateAction *m_volumeAction = nullptr; + + TelepathyMonitor *m_telepathyMonitor; + OrganizerAdapter *m_organizerAdapter; + SyncMonitorClient *m_syncMonitorClient; + QTimer m_syncTimer; +}; + +#endif // UBUNTUPLATFORM_H -- cgit v1.2.3