diff options
Diffstat (limited to 'daemon/watchcommands.cpp')
| -rw-r--r-- | daemon/watchcommands.cpp | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/daemon/watchcommands.cpp b/daemon/watchcommands.cpp index 40f8963..7fc84fc 100644 --- a/daemon/watchcommands.cpp +++ b/daemon/watchcommands.cpp @@ -4,19 +4,34 @@ using namespace watch; WatchCommands::WatchCommands(WatchConnector *watch, QObject *parent) : QObject(parent), watch(watch) -{ - connect(watch, SIGNAL(messageDecoded(uint,uint,QByteArray)), SLOT(processMessage(uint,uint,QByteArray))); -} +{} void WatchCommands::processMessage(uint endpoint, uint datalen, QByteArray data) { - if (endpoint == WatchConnector::watchPHONE_CONTROL) { - if (data.length() >= 5) { - if (data.at(4) == WatchConnector::callHANGUP) { - emit hangup(); - } - } - } else if (endpoint == WatchConnector::watchPHONE_VERSION) { + logger()->debug() << __FUNCTION__ << endpoint << "/" << data.length(); + switch (endpoint) { + case WatchConnector::watchPHONE_VERSION: watch->sendPhoneVersion(); + break; + case WatchConnector::watchPHONE_CONTROL: + if (data.length() >= 5 && data.at(4) == WatchConnector::callHANGUP) { + emit hangup(); + } + break; + case WatchConnector::watchMUSIC_CONTROL: + logger()->debug() << "MUSIC_CONTROL" << data.toHex(); + break; + + default: + logger()->info() << __FUNCTION__ << "endpoint" << endpoint << "not supported yet"; } } + +void WatchCommands::onMprisMetadataChanged(QVariantMap metadata) +{ + QString track = metadata.value("xesam:title").toString(); + QString album = metadata.value("xesam:album").toString(); + QString artist = metadata.value("xesam:artist").toString(); + logger()->debug() << __FUNCTION__ << track << album << artist; + watch->sendMusicNowPlaying(track, album, artist); +} |
