From 4a520d8ba19a142eaf32b9da4be3171d9ceaaf09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Wed, 28 Oct 2020 11:42:06 +0100 Subject: [PATCH] Rename Backend type and define ZigbeeNetworkState within the manager --- libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp | 2 ++ libnymea-core/jsonrpc/zigbeehandler.cpp | 11 ++++------- libnymea-core/zigbee/zigbeemanager.cpp | 2 +- libnymea-core/zigbee/zigbeemanager.h | 10 +++++++++- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp b/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp index 33671c20..b613f9ab 100644 --- a/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp +++ b/libnymea-core/jsonrpc/jsonrpcserverimplementation.cpp @@ -73,6 +73,7 @@ #include "tagshandler.h" #include "systemhandler.h" #include "usershandler.h" +#include "zigbeehandler.h" #include #include @@ -595,6 +596,7 @@ void JsonRPCServerImplementation::setup() registerHandler(new TagsHandler(this)); registerHandler(new SystemHandler(NymeaCore::instance()->platform(), this)); registerHandler(new UsersHandler(NymeaCore::instance()->userManager(), this)); + registerHandler(new ZigbeeHandler(NymeaCore::instance()->zigbeeManager(), this)); connect(NymeaCore::instance()->cloudManager(), &CloudManager::pairingReply, this, &JsonRPCServerImplementation::pairingFinished); connect(NymeaCore::instance()->cloudManager(), &CloudManager::connectionStateChanged, this, &JsonRPCServerImplementation::onCloudConnectionStateChanged); diff --git a/libnymea-core/jsonrpc/zigbeehandler.cpp b/libnymea-core/jsonrpc/zigbeehandler.cpp index 8a6ab354..9f4091ef 100644 --- a/libnymea-core/jsonrpc/zigbeehandler.cpp +++ b/libnymea-core/jsonrpc/zigbeehandler.cpp @@ -37,11 +37,8 @@ ZigbeeHandler::ZigbeeHandler(ZigbeeManager *zigbeeManager, QObject *parent) : JsonHandler(parent), m_zigbeeManager(zigbeeManager) { - registerEnum(); - registerEnum(); - -// registerObject(); -// registerObject(); + registerEnum(); + registerEnum(); QVariantMap params, returns; QString description; @@ -60,13 +57,13 @@ ZigbeeHandler::ZigbeeHandler(ZigbeeManager *zigbeeManager, QObject *parent) : returns.insert("configured", enumValueName(Bool)); returns.insert("serialPort", enumValueName(String)); returns.insert("baudRate", enumValueName(Uint)); - returns.insert("backend", enumRef()); + returns.insert("backend", enumRef()); returns.insert("firmwareVersion", enumValueName(String)); returns.insert("networkIeeeeAddress", enumValueName(String)); returns.insert("networkPanId", enumValueName(Uint)); returns.insert("channel", enumValueName(Uint)); returns.insert("permitJoin", enumValueName(Bool)); - returns.insert("networkState", enumRef()); + returns.insert("networkState", enumRef()); registerMethod("GetNetworkStatus", description, params, returns); // GetUartInterfaces diff --git a/libnymea-core/zigbee/zigbeemanager.cpp b/libnymea-core/zigbee/zigbeemanager.cpp index 1900c057..645d4bae 100644 --- a/libnymea-core/zigbee/zigbeemanager.cpp +++ b/libnymea-core/zigbee/zigbeemanager.cpp @@ -59,7 +59,7 @@ ZigbeeNetwork *ZigbeeManager::zigbeeNetwork() const return m_zigbeeNetwork; } -void ZigbeeManager::createZigbeeNetwork(const QString &serialPort, qint32 baudrate, Zigbee::BackendType backend) +void ZigbeeManager::createZigbeeNetwork(const QString &serialPort, qint32 baudrate, Zigbee::ZigbeeBackendType backend) { if (m_zigbeeNetwork) { delete m_zigbeeNetwork; diff --git a/libnymea-core/zigbee/zigbeemanager.h b/libnymea-core/zigbee/zigbeemanager.h index dced5f3f..0ca56680 100644 --- a/libnymea-core/zigbee/zigbeemanager.h +++ b/libnymea-core/zigbee/zigbeemanager.h @@ -41,6 +41,14 @@ class ZigbeeManager : public QObject { Q_OBJECT public: + enum ZigbeeNetworkState { + ZigbeeNetworkStateOffline, + ZigbeeNetworkStateUpdating, + ZigbeeNetworkStateOnline, + ZigbeeNetworkStateError + }; + Q_ENUM(ZigbeeNetworkState) + explicit ZigbeeManager(QObject *parent = nullptr); bool available() const; @@ -48,7 +56,7 @@ public: ZigbeeNetwork *zigbeeNetwork() const; - void createZigbeeNetwork(const QString &serialPort, qint32 baudrate, Zigbee::BackendType backend); + void createZigbeeNetwork(const QString &serialPort, qint32 baudrate, Zigbee::ZigbeeBackendType backend); private: ZigbeeNetwork *m_zigbeeNetwork = nullptr;