/** * $Id$ * $HeadURL$ * $Author$ * Created by Hannes Baeuerle, SLSE, 2016-05-23 */ #include "template.h" ParticipantManagement::TemplateParticipant ParticipantManagement::TemplateHandling::Template::toDdsTemplateParticipant() const { TemplateParticipant result; result.templateId(id()); result.typeId(typeId()); result.name(m_data.name.toStdString()); result.designator(m_data.designator.toStdString()); result.info(m_data.info.toStdString()); result.symbol(m_data.symbol.toStdString()); result.tacticalIdentifier(m_data.tacticalIdentifier.toStdString()); result.hierarchyNumber(m_data.hierarchyNumber); result.superiorTemplateId(superiorId()); result.equipmentNumber(m_data.equipmentNumber); if (!m_inferiorIds.empty()) result.inferiorIds().set(m_inferiorIds); return result; } bool ParticipantManagement::TemplateHandling::Template::hasToBeChanged(const ParticipantManagement::TemplateData &newData) { bool hasNoChanges = m_data.typeId == newData.typeId() && m_data.hierarchyNumber == newData.hierarchyNumber() && m_data.equipmentNumber == newData.equipmentNumber() && m_data.name == QString::fromStdString(newData.name()) && m_data.symbol == QString::fromStdString(newData.symbol()) && m_data.info == QString::fromStdString(newData.info()) && m_data.designator == QString::fromStdString(newData.designator()) && m_data.tacticalIdentifier == QString::fromStdString(newData.tacticalIdentifier()); if (!hasNoChanges) { m_data.typeId = newData.typeId(); m_data.hierarchyNumber = newData.hierarchyNumber(); m_data.name = QString::fromStdString(newData.name()); m_data.symbol = QString::fromStdString(newData.symbol()); m_data.info = QString::fromStdString(newData.info()); m_data.designator = QString::fromStdString(newData.designator()); m_data.tacticalIdentifier = QString::fromStdString(newData.tacticalIdentifier()); m_data.equipmentNumber = newData.equipmentNumber(); } return !hasNoChanges; } bool ParticipantManagement::TemplateHandling::Template::hasNewSuperiorId(int32_t superiorId) { bool result = m_data.superiorId != superiorId; m_data.superiorId = superiorId; return result; } bool ParticipantManagement::TemplateHandling::Template::hasNewInferiorStructure(std::vector inferiorIds) { std::sort(inferiorIds.begin(), inferiorIds.end()); if (m_inferiorIds != inferiorIds) { std::swap(m_inferiorIds, inferiorIds); return true; } return false; } ParticipantManagement::Database::PpmTemplate ParticipantManagement::TemplateHandling::Template::dbEntry() const { return m_data; }