diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-13 05:14:11 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-13 05:14:11 +0200 |
| commit | 09d98ef6e6d32e73a6b3c74679adc8a49b0dee7e (patch) | |
| tree | d4e5682b1b534c6b475c6279fdd1652c3c8e4b74 /daemon/watchconnector.cpp | |
| parent | e99e0f6d456e86be244ed3baa022088ec859944a (diff) | |
Moved processing watch commands to separate object
Diffstat (limited to 'daemon/watchconnector.cpp')
| -rw-r--r-- | daemon/watchconnector.cpp | 76 |
1 files changed, 14 insertions, 62 deletions
diff --git a/daemon/watchconnector.cpp b/daemon/watchconnector.cpp index 2bc8c75..4935287 100644 --- a/daemon/watchconnector.cpp +++ b/daemon/watchconnector.cpp @@ -1,6 +1,7 @@ #include "watchconnector.h" #include <QTimer> #include <QDateTime> +#include <QMetaEnum> using namespace watch; @@ -76,51 +77,11 @@ void WatchConnector::handleWatch(const QString &name, const QString &address) socket->connectToService(QBluetoothAddress(address), 1); } -QString WatchConnector::decodeEndpoint(unsigned int val) +QString WatchConnector::decodeEndpoint(uint val) { - //FIXME: Create a map of these values - switch(val) { - case watchTIME: - return "TIME"; - case watchVERSION: - return "VERSION"; - case watchPHONE_VERSION: - return "PHONE_VERSION"; - case watchSYSTEM_MESSAGE: - return "SYSTEM_MESSAGE"; - case watchMUSIC_CONTROL: - return "MUSIC_CONTROL"; - case watchPHONE_CONTROL: - return "PHONE_CONTROL"; - case watchAPPLICATION_MESSAGE: - return "APP_MSG"; - case watchLAUNCHER: - return "LAUNCHER"; - case watchLOGS: - return "LOGS"; - case watchPING: - return "PING"; - case watchLOG_DUMP: - return "DUMP"; - case watchRESET: - return "RESET"; - case watchAPP: - return "APP"; - case watchAPP_LOGS: - return "APP_LOGS"; - case watchNOTIFICATION: - return "NOTIFICATION"; - case watchRESOURCE: - return "RESOURCE"; - case watchAPP_MANAGER: - return "APP_MANAG"; - case watchSCREENSHOT: - return "SCREENSHOT"; - case watchPUTBYTES: - return "PUTBYTES"; - default: - return "Unknown: "+ QString::number(val); - } + QMetaEnum Endpoints = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("Endpoints")); + const char *endpoint = Endpoints.valueToKey(val); + return endpoint ? QString(endpoint) : QString("watchUNKNOWN_%1").arg(val); } void WatchConnector::decodeMsg(QByteArray data) @@ -137,16 +98,7 @@ void WatchConnector::decodeMsg(QByteArray data) logger()->debug() << "Length:" << datalen << " Endpoint:" << decodeEndpoint(endpoint); logger()->debug() << "Data:" << data.mid(index).toHex(); - //TODO: move the handling to a seperate method/class - if (endpoint == watchPHONE_CONTROL) { - if (data.length() >= 5) { - if (data.at(4) == callHANGUP) { - emit hangup(); - } - } - } else if (endpoint == watchPHONE_VERSION) { - this->sendPhoneVersion(); - } + emit messageDecoded(endpoint, datalen, data); } void WatchConnector::onReadSocket() @@ -203,7 +155,7 @@ void WatchConnector::sendData(const QByteArray &data) socket->write(data); } -void WatchConnector::sendMessage(unsigned int endpoint, QByteArray data) +void WatchConnector::sendMessage(uint endpoint, QByteArray data) { logger()->debug() << "Sending message"; QByteArray msg; @@ -232,7 +184,7 @@ void WatchConnector::buildData(QByteArray &res, QStringList data) } } -QByteArray WatchConnector::buildMessageData(unsigned int lead, QStringList data) +QByteArray WatchConnector::buildMessageData(uint lead, QStringList data) { QByteArray res; res.append(lead & 0xFF); @@ -277,7 +229,7 @@ void WatchConnector::sendPhoneVersion() sendMessage(watchPHONE_VERSION, res); } -void WatchConnector::ping(unsigned int val) +void WatchConnector::ping(uint val) { QByteArray res; res.append((char)0); @@ -295,7 +247,7 @@ QString WatchConnector::timeStamp() return QString::number(QDateTime::currentMSecsSinceEpoch()); } -void WatchConnector::sendNotification(unsigned int lead, QString sender, QString data, QString subject) +void WatchConnector::sendNotification(uint lead, QString sender, QString data, QString subject) { QStringList tmp; tmp.append(sender); @@ -330,7 +282,7 @@ void WatchConnector::sendMusicNowPlaying(QString track, QString album, QString a sendMessage(watchMUSIC_CONTROL, res); } -void WatchConnector::phoneControl(char act, unsigned int cookie, QStringList datas) +void WatchConnector::phoneControl(char act, uint cookie, QStringList datas) { QByteArray head; head.append((char)act); @@ -343,7 +295,7 @@ void WatchConnector::phoneControl(char act, unsigned int cookie, QStringList dat sendMessage(watchPHONE_CONTROL, head); } -void WatchConnector::ring(QString number, QString name, bool incoming, unsigned int cookie) +void WatchConnector::ring(QString number, QString name, bool incoming, uint cookie) { QStringList tmp; tmp.append(number); @@ -357,12 +309,12 @@ void WatchConnector::ring(QString number, QString name, bool incoming, unsigned phoneControl(act, cookie, tmp); } -void WatchConnector::startPhoneCall(unsigned int cookie) +void WatchConnector::startPhoneCall(uint cookie) { phoneControl(callSTART, cookie, QStringList()); } -void WatchConnector::endPhoneCall(unsigned int cookie) +void WatchConnector::endPhoneCall(uint cookie) { phoneControl(callEND, cookie, QStringList()); } |
