Update Hyperion.cpp

Former-commit-id: 24638e6009da0dc3a2168caef53e09664c1db095
This commit is contained in:
AEtHeLsYn 2016-03-09 19:45:00 +01:00
parent 88e4737b8b
commit 63e3380ff7
1 changed files with 34 additions and 0 deletions

View File

@ -455,6 +455,37 @@ LedDevice * Hyperion::createColorSmoothing(const Json::Value & smoothingConfig,
return ledDevice;
}
MessageForwarder * Hyperion::createMessageForwarder(const Json::Value & forwarderConfig)
{
MessageForwarder * forwarder = new MessageForwarder();
if ( ! forwarderConfig.isNull() )
{
if ( ! forwarderConfig["json"].isNull() && forwarderConfig["json"].isArray() )
{
for (const Json::Value& addr : forwarderConfig["json"])
{
std::cout << "Json forward to " << addr.asString() << std::endl;
forwarder->addJsonSlave(addr.asString());
}
}
if ( ! forwarderConfig["proto"].isNull() && forwarderConfig["proto"].isArray() )
{
for (const Json::Value& addr : forwarderConfig["proto"])
{
std::cout << "Proto forward to " << addr.asString() << std::endl;
forwarder->addProtoSlave(addr.asString());
}
}
}
return forwarder;
}
MessageForwarder * Hyperion::getForwarder()
{
return _messageForwarder;
}
Hyperion::Hyperion(const Json::Value &jsonConfig) :
_ledString(createLedString(jsonConfig["leds"], createColorOrder(jsonConfig["device"]))),
@ -519,6 +550,9 @@ Hyperion::~Hyperion()
// delete the color temperature correction
delete _raw2ledTemperature;
// delete the message forwarder
delete _messageForwarder;
}
unsigned Hyperion::getLedCount() const