/** * Handler for all asset locations * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2017-09-20 */ #include "handler_location.h" #include "main_handler.h" namespace AssetManagement { // ------------------------------------------------------------------------------------------------------- // Database::AsmLocation => AssetManagement::Location static inline Location toDdsData(const Database::AsmLocation &dbData) { Location ddsData; ddsData.id = dbData.id; ddsData.name = dbData.name.toStdString(); ddsData.description = dbData.description.toStdString(); // init data not in db ddsData.isDeleted = false; ddsData.isUsed = false; return ddsData; } HandlerLocation::HandlerLocation(MainHandler *mainHandler) : m_mainHandler(mainHandler) , m_logger(getLogger("HandlerLocation")) { } bool HandlerLocation::init() { int iCnt = 0; // create objects auto cb = [this, &iCnt] (const Database::AsmLocation &data) { m_mainHandler->dds()->dts()->publish(toDdsData(data)); ++iCnt; }; if (!m_mainHandler->db()->select(cb)) { ERROR_LOG(m_logger) << "Error reading data from database!"; return false; } DEBUG_LOG(m_logger) << "#Locations published: " << iCnt; return true; } } // Namespace AssetManagement