summaryrefslogtreecommitdiff
path: root/daemon/watchcommands.cpp
blob: 1df811a5f9e1abfefc1fc8352156ce6904d6689c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "watchcommands.h"

using namespace watch;

WatchCommands::WatchCommands(WatchConnector *watch, QObject *parent) :
    QObject(parent), watch(watch)
{}

void WatchCommands::processMessage(uint endpoint, uint datalen, QByteArray data)
{
    Q_UNUSED(datalen);

    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);
}