diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-03 16:38:02 +0100 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-03 19:07:48 +0100 |
| commit | 4e7da1944f5fa75a0739c0757d40a8102f045365 (patch) | |
| tree | 5f3fe179256536e4135eb4d5031a1d754af5e26c /daemon/musicmanager.h | |
| parent | 4150005566bec7827ce1cdd759a2397d47eba583 (diff) | |
| parent | e6ec758b364fcaf9fda35e56740c3fcd7e8fe25e (diff) | |
Merge remote-tracking branch 'javispedro/js-testing'
Conflicts:
daemon/daemon.pro
daemon/dbusconnector.cpp
daemon/manager.cpp
daemon/watchcommands.cpp
daemon/watchcommands.h
daemon/watchconnector.cpp
daemon/watchconnector.h
log4qt-debug.conf
log4qt-release.conf
rpm/pebble.spec
rpm/pebble.yaml
Diffstat (limited to 'daemon/musicmanager.h')
| -rw-r--r-- | daemon/musicmanager.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/daemon/musicmanager.h b/daemon/musicmanager.h new file mode 100644 index 0000000..14aa6fb --- /dev/null +++ b/daemon/musicmanager.h @@ -0,0 +1,36 @@ +#ifndef MUSICMANAGER_H +#define MUSICMANAGER_H + +#include <QObject> +#include <QDBusContext> +#include <QDBusServiceWatcher> +#include "watchconnector.h" + +class MusicManager : public QObject, protected QDBusContext +{ + Q_OBJECT + QLoggingCategory l; + +public: + explicit MusicManager(WatchConnector *watch, QObject *parent = 0); + +private: + void switchToService(const QString &service); + void fetchMetadataFromService(); + void sendCurrentMprisMetadata(); + void callMprisMethod(const QString &method); + +private slots: + void handleMusicControl(WatchConnector::MusicControl operation); + void handleMprisServiceOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner); + void handleMprisPropertiesChanged(const QString &interface, const QMap<QString,QVariant> &changed, const QStringList &invalidated); + void handleWatchConnected(); + +private: + WatchConnector *watch; + QDBusServiceWatcher *_watcher; + QString _curService; + QVariantMap _curMetadata; +}; + +#endif // MUSICMANAGER_H |
