summaryrefslogtreecommitdiffstats
path: root/hvac/hvac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'hvac/hvac.cpp')
-rw-r--r--hvac/hvac.cpp46
1 files changed, 2 insertions, 44 deletions
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());
- }
- }
-}