Added json broadcasting
This commit is contained in:
parent
df27b622a0
commit
3cbe947408
37 changed files with 514 additions and 487 deletions
|
|
@ -16,9 +16,3 @@ void AuxItem::store(QJsonObject &json)
|
|||
json["Type"] = "Aux";
|
||||
Item::store(json);
|
||||
}
|
||||
|
||||
void AuxItem::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Type", "Aux");
|
||||
Item::store(subsecton, settings);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,4 @@ public:
|
|||
AuxItem(SensorStore* sensors, Microcontroller* micro, uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "", uint8_t value = 0, QObject* parent = nullptr);
|
||||
|
||||
virtual void store(QJsonObject& json);
|
||||
virtual void store(QString subsecton, QSettings* settings);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -86,34 +86,6 @@ void Item::load(const QJsonObject &json, const bool preserve)
|
|||
}
|
||||
}
|
||||
|
||||
void Item::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Name", name_);
|
||||
settings->setValue(subsecton + "ItemId", static_cast<unsigned>(itemId_));
|
||||
settings->setValue(subsecton + "ActorsActive", actorsActive_);
|
||||
settings->setValue(subsecton + "Actors", static_cast<unsigned>(actors_.size()));
|
||||
for(size_t i = 0; i < actors_.size(); ++i)
|
||||
{
|
||||
actors_[i]->store(subsecton + "/Actor" + QString::number(i), settings);
|
||||
}
|
||||
}
|
||||
|
||||
void Item::load(QString subsecton, QSettings* settings, bool preserve)
|
||||
{
|
||||
if(!preserve)
|
||||
{
|
||||
name_ = settings->value(subsecton + "Name").toString();
|
||||
itemId_ = settings->value(subsecton + "ItemId").toUInt();
|
||||
}
|
||||
actorsActive_ = settings->value(subsecton + "ActorsActive").toBool();
|
||||
unsigned actorsLen = settings->value(subsecton + "Actors").toUInt();
|
||||
for(unsigned i = 0; i < actorsLen; ++i)
|
||||
{
|
||||
Actor* actor = Actor::loadActor(subsecton + "/Actor" + QString::number(i), settings);
|
||||
if(actor != nullptr) addActor(actor);
|
||||
}
|
||||
}
|
||||
|
||||
void Item::setValue(uint8_t value)
|
||||
{
|
||||
value_ = value;
|
||||
|
|
|
|||
|
|
@ -68,8 +68,5 @@ public:
|
|||
virtual void store(QJsonObject& json);
|
||||
virtual void load(const QJsonObject& json, const bool preserve = false);
|
||||
|
||||
virtual void store(QString subsecton, QSettings* settings);
|
||||
virtual void load(QString subsecton, QSettings* settings, bool preserve = false);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,14 @@ void ItemStore::addItems(const std::vector<std::shared_ptr<Item>>& itemIn)
|
|||
|
||||
}
|
||||
|
||||
|
||||
void ItemStore::clear()
|
||||
{
|
||||
for(size_t i = 0; i < items_.size(); ++i) itemDeleted(*items_[i]);
|
||||
items_.clear();
|
||||
}
|
||||
|
||||
|
||||
void ItemStore::itemStateChanged(const ItemData& item)
|
||||
{
|
||||
for(unsigned i = 0; i < items_.size(); i++ )
|
||||
|
|
@ -100,33 +108,3 @@ void ItemStore::load(const QJsonObject& json, Microcontroller * const micro)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ItemStore::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "/NumberOfItems", static_cast<unsigned>(items_.size()));
|
||||
for(size_t i = 0; i < items_.size(); ++i)
|
||||
{
|
||||
items_[i]->store(subsecton + "/Item" + QString::number(i), settings);
|
||||
}
|
||||
}
|
||||
|
||||
void ItemStore::load(QString subsecton, QSettings* settings, Microcontroller* micro)
|
||||
{
|
||||
unsigned itemLen = settings->value(subsecton + "/NumberOfItems").toUInt();
|
||||
for(size_t i = 0; i < itemLen; ++i)
|
||||
{
|
||||
std::shared_ptr<Relay> newItem;
|
||||
if(settings->value(subsecton + "/Item" + QString::number(i)+ "Type").toString() == "Relay")
|
||||
{
|
||||
newItem = std::shared_ptr<Relay>(new Relay(sensors_, micro));
|
||||
}
|
||||
else if(settings->value(subsecton + "/Item" + QString::number(i)+ "Type").toString() == "Aux")
|
||||
{
|
||||
}
|
||||
if(newItem)
|
||||
{
|
||||
newItem->load(subsecton + "/Item" + QString::number(i), settings);
|
||||
addItem(newItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ public:
|
|||
void store(QJsonObject &json);
|
||||
void load(const QJsonObject &json, Microcontroller * const micro);
|
||||
|
||||
void store(QString subsecton, QSettings* settings);
|
||||
void load(QString subsecton, QSettings* settings, Microcontroller* micro);
|
||||
void clear();
|
||||
|
||||
signals:
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include <QProcess>
|
||||
#include <QApplication>
|
||||
|
||||
PowerItem::PowerItem(SensorStore* sensors, QApplication* a, uint32_t itemIdIn, QString name, uint8_t value, QObject* parent): Item(sensors, itemIdIn, name, value, parent), a_(a)
|
||||
PowerItem::PowerItem(SensorStore* sensors, uint32_t itemIdIn, QString name, uint8_t value, QObject* parent): Item(sensors, itemIdIn, name, value, parent)
|
||||
{
|
||||
stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 0));
|
||||
setValue(true);
|
||||
|
|
@ -21,7 +21,6 @@ void PowerItem::setValue(uint8_t value)
|
|||
void PowerItem::timeout()
|
||||
{
|
||||
QProcess::startDetached("syncoff");
|
||||
a_->exit(0);
|
||||
}
|
||||
|
||||
void PowerItem::store(QJsonObject& json)
|
||||
|
|
@ -29,9 +28,3 @@ void PowerItem::store(QJsonObject& json)
|
|||
json["Type"] = "Power";
|
||||
Item::store(json);
|
||||
}
|
||||
|
||||
void PowerItem::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Type", "Power");
|
||||
Item::store(subsecton, settings);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ class PowerItem: public Item
|
|||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QApplication* a_;
|
||||
|
||||
signals:
|
||||
|
||||
|
|
@ -25,8 +24,7 @@ public slots:
|
|||
virtual void setValue(uint8_t value);
|
||||
|
||||
public:
|
||||
PowerItem(SensorStore* sensors, QApplication* a, uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "", uint8_t value = 0, QObject* parent = nullptr);
|
||||
PowerItem(SensorStore* sensors, uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "", uint8_t value = 0, QObject* parent = nullptr);
|
||||
void emmitSensor(){stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 0));}
|
||||
virtual void store(QJsonObject& json);
|
||||
virtual void store(QString subsecton, QSettings* settings);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -46,22 +46,6 @@ void Relay::load(const QJsonObject& json)
|
|||
itemId_ = address_ | (static_cast<uint32_t>(id_) << 16);
|
||||
}
|
||||
|
||||
void Relay::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Type", "Relay");
|
||||
Item::store(subsecton, settings);
|
||||
settings->setValue(subsecton + "Id", static_cast<unsigned>(id_));
|
||||
settings->setValue(subsecton + "Address", address_);
|
||||
}
|
||||
|
||||
void Relay::load(QString subsecton, QSettings* settings)
|
||||
{
|
||||
Item::load(subsecton, settings);
|
||||
id_ = settings->value(subsecton + "Id").toUInt();
|
||||
address_ = settings->value(subsecton + "Address").toUInt();
|
||||
itemId_ = address_ | ((uint32_t)id_ << 16);
|
||||
}
|
||||
|
||||
uint16_t Relay::getAddress() const
|
||||
{
|
||||
return address_;
|
||||
|
|
|
|||
|
|
@ -34,8 +34,5 @@ public:
|
|||
|
||||
virtual void store(QJsonObject& json);
|
||||
virtual void load(const QJsonObject& json);
|
||||
|
||||
virtual void store(QString subsecton, QSettings* settings);
|
||||
virtual void load(QString subsecton, QSettings* settings);
|
||||
};
|
||||
#endif // RELAY_H
|
||||
|
|
|
|||
|
|
@ -16,9 +16,3 @@ void RgbItem::store(QJsonObject &json)
|
|||
json["Type"] = "Rgb";
|
||||
Item::store(json);
|
||||
}
|
||||
|
||||
void RgbItem::store(QString subsecton, QSettings* settings)
|
||||
{
|
||||
settings->setValue(subsecton + "Type", "Rgb");
|
||||
Item::store(subsecton, settings);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,4 @@ public:
|
|||
RgbItem(SensorStore* sensors, Microcontroller* micro, uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "", uint8_t value = 0, QObject* parent = nullptr);
|
||||
|
||||
virtual void store(QJsonObject& json);
|
||||
virtual void store(QString subsecton, QSettings* settings);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue