summaryrefslogtreecommitdiffstats
path: root/hvac
diff options
context:
space:
mode:
Diffstat (limited to 'hvac')
-rw-r--r--hvac/CMakeLists.txt2
-rw-r--r--hvac/hvac.cpp46
-rw-r--r--hvac/hvac.h12
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