/** * @RDE_HEADER@ * ISM Object Sound Area * $Id$ * $HeadURL$ * $Author$ * Created by Filip Biedziak, NLE, 2020-08-05 */ #include "object_effect_area.h" namespace InfrastructureManagement { ObjectEffectArea::ObjectEffectArea(MainHandler *mainHandler) : Base(mainHandler, getLogger("ObjectEffectArea")) { } ObjectEffectArea::~ObjectEffectArea() { } //----------------------------------------------------------------------------------------------------------------------------- Core::FunctionReplyObject ObjectEffectArea::createObject(const EffectArea &data) { m_data = data; m_data.name = "Sound Area " + std::to_string(m_data.id); onPublishData(); // publish data via DDS return Core::FunctionReplyObject(m_data.id); } Core::FunctionReplyObject ObjectEffectArea::updateObject(const EffectArea &data) { m_data = data; DEBUG_LOG(m_logger) << "Data changed for Id: " << m_data.id; onPublishData(); // publish data via DTS return Core::FunctionReplyObject(m_data.id); } Core::FunctionReplyObject ObjectEffectArea::removeObject() { if (!dts()->removeEffectAreaByKey(m_data.id)) return Core::FunctionReplyObject(m_data.id, tr_lts("dds", "EffectArea with id %1 can not be removed from DDS")).arg(m_data.id); return Core::FunctionReplyObject(m_data.id); } //----------------------------------------------------------------------------------------------------------------------------- void ObjectEffectArea::onPublishData() { INFO_LOG(m_logger) << "Publish IsmEffectArea-data to dds (" << m_data.id << ") ..."; if (!dts()->publish(m_data)) ERROR_LOG(m_logger) << "Error publishing IsmEffectArea-data to dds"; } } // namespace InfrastructureManagement