diff options
Diffstat (limited to 'hvac')
-rw-r--r-- | hvac/CMakeLists.txt | 2 | ||||
-rw-r--r-- | hvac/hvac.cpp | 46 | ||||
-rw-r--r-- | hvac/hvac.h | 12 |
3 files changed, 5 insertions, 55 deletions
diff --git a/hvac/CMakeLists.txt b/hvac/CMakeLists.txt index c0ebf49..dd0ceea 100644 --- a/hvac/CMakeLists.txt +++ b/hvac/CMakeLists.txt @@ -8,7 +8,7 @@ add_library(qtappfw-hvac SHARED hvac.cpp) target_include_directories(qtappfw-hvac PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") target_include_directories(qtappfw-hvac PUBLIC "${CMAKE_INSTALL_INCLUDEDIR}") -target_link_libraries(qtappfw-hvac qtappfw-core) +target_link_libraries(qtappfw-hvac Qt5::Core) set_target_properties(qtappfw-hvac PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1 diff --git a/hvac/hvac.cpp b/hvac/hvac.cpp index edb7e35..bb5fc10 100644 --- a/hvac/hvac.cpp +++ b/hvac/hvac.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 Konsulko Group + * Copyright (C) 2020-2021 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,24 +18,16 @@ #include <QMetaEnum> #include <QMimeDatabase> #include <QtQml/QQmlEngine> - -#include "callmessage.h" -#include "eventmessage.h" -#include "messagefactory.h" -#include "messageengine.h" -#include "messageenginefactory.h" #include "hvac.h" // TODO: don't duplicate defaults from HVAC service here -HVAC::HVAC (QUrl &url, QObject * parent) : +HVAC::HVAC (QObject * parent) : QObject(parent), m_fanspeed(0), m_temp_left_zone(21), m_temp_right_zone(21) { - m_mloop = MessageEngineFactory::getInstance().getMessageEngine(url); - QObject::connect(m_mloop.get(), &MessageEngine::messageReceived, this, &HVAC::onMessageReceived); } HVAC::~HVAC() @@ -44,53 +36,19 @@ HVAC::~HVAC() void HVAC::control(QString verb, QString field, int value) { - std::unique_ptr<Message> msg = MessageFactory::getInstance().createOutboundMessage(MessageId::Call); - if (!msg) - return; - - CallMessage* hmsg = static_cast<CallMessage*>(msg.get()); - QJsonObject parameter; - - parameter.insert(field, value); - hmsg->createRequest("hvac", verb, parameter); - m_mloop->sendMessage(std::move(msg)); } void HVAC::set_fanspeed(int speed) { - control("set", "FanSpeed", speed); emit fanSpeedChanged(speed); } void HVAC::set_temp_left_zone(int temp) { - control("set", "LeftTemperature", temp); - control("set", "LeftLed", temp); emit leftTemperatureChanged(temp); } void HVAC::set_temp_right_zone(int temp) { - - control("set", "RightTemperature", temp); - control("set", "RightLed", temp); emit rightTemperatureChanged(temp); } - -void HVAC::onMessageReceived(std::shared_ptr<Message> msg) -{ - if (!msg) - return; - - if (msg->isEvent()) { - std::shared_ptr<EventMessage> emsg = std::static_pointer_cast<EventMessage>(msg); - if (emsg->eventApi() != "hvac") - return; - - if (emsg->eventName() == "language") { - // TODO: cannot be currently tested with identity service - QVariantMap data = emsg->eventData().toVariantMap(); - emit languageChanged(data.value("language").toString()); - } - } -} diff --git a/hvac/hvac.h b/hvac/hvac.h index 858fddf..1a8b233 100644 --- a/hvac/hvac.h +++ b/hvac/hvac.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 Konsulko Group + * Copyright (C) 2020-2021 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,9 +23,6 @@ #include <QtQml/QQmlContext> #include <QtQml/QQmlListProperty> -class MessageEngine; -class Message; - class HVAC : public QObject { Q_OBJECT @@ -35,7 +32,7 @@ class HVAC : public QObject Q_PROPERTY(int rightTemperature READ get_temp_right_zone WRITE set_temp_right_zone NOTIFY rightTemperatureChanged) public: - explicit HVAC(QUrl &url, QObject * parent = Q_NULLPTR); + explicit HVAC(QObject * parent = Q_NULLPTR); virtual ~HVAC(); signals: @@ -45,8 +42,6 @@ class HVAC : public QObject void languageChanged(QString language); private: - std::shared_ptr<MessageEngine> m_mloop; - int m_fanspeed; int m_temp_left_zone; int m_temp_right_zone; @@ -59,9 +54,6 @@ class HVAC : public QObject void set_fanspeed(int speed); void set_temp_left_zone(int temp); void set_temp_right_zone(int temp); - - // slots - void onMessageReceived(std::shared_ptr<Message>); }; #endif // HVAC_H |