/** * $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; }