/** * @RDE_HEADER@ * ISM Handler Special Areas * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, 2023-07-26 */ #include "handler_special_area.h" #include "object_special_area.h" namespace InfrastructureManagement { //-------------------------------------------------------------------------------------------------------------------------------------------------- HandlerSpecialArea::HandlerSpecialArea(MainHandler *mainHandler) : Base(mainHandler, getLogger("HandlerSpecialArea")) { } //-------------------------------------------------------------------------------------------------------------------------------------------------- HandlerSpecialArea::~HandlerSpecialArea() { qDeleteAll(m_objectSpecialAreaMap); } //-------------------------------------------------------------------------------------------------- bool HandlerSpecialArea::init() { bool bRet = true; auto cb = [this, &bRet] (const Database::IsmSpecialArea &data) { SpecialArea ddsData = ObjectSpecialArea::toDdsData(data); ObjectSpecialArea *ifs(new ObjectSpecialArea(m_mainHandler)); Core::FunctionReplyObject ret = ifs->createObject(ddsData); if (ret.error()) { delete ifs; ERROR_LOG(m_logger) << ret(); bRet = false; return; } m_objectSpecialAreaMap.insert(ifs->getId(), ifs); DEBUG_LOG(m_logger) << " id=" << ifs->getData().id() << " name=" << ifs->getData().name(); }; // create Asset objects if (!db()->select(cb) || !bRet) { ERROR_LOG(m_logger) << "Error reading data from database!"; return false; } DEBUG_LOG(m_logger) << "m_objectSpecialAreaMap.size() = " << m_objectSpecialAreaMap.size(); return true; } } // namespace InfrastructureManagement