/** * The Uas class represents a Uas. It holds the data and offers some conversion methods. * $Id$ * $HeadURL$ * $Author$ * Created by Hannes Fritsche, ESZS, 2025-04-08 */ #include "uas.h" namespace ParticipantManagement { namespace UasHandling { bool Uas::hasChanges(const CreateModifyUasRequest &request) { bool hasChanges = request.deviceIdentifier != m_data.deviceIdentifier.toStdString() || request.participantId != m_data.participantId || request.exerciseId != m_data.exerciseId || request.hostname != m_data.hostname.toStdString() || request.hostport != m_data.hostport || request.useTcp != m_data.useTcp; if (hasChanges) { m_data.deviceIdentifier = QString::fromStdString(request.deviceIdentifier); m_data.participantId = request.participantId; m_data.exerciseId = request.exerciseId; m_data.hostname = QString::fromStdString(request.hostname); m_data.hostport = request.hostport; m_data.useTcp = request.useTcp; } return hasChanges; } bool Uas::compareHostname( const QString &hostname) { return (m_data.hostname.compare(hostname, Qt::CaseInsensitive) == 0); } bool Uas::compareHostPort(int hostport) { return (m_data.hostport == hostport); } void Uas::unlinkUas() { m_data.participantId = 0; m_data.exerciseId = 0; } void Uas::setState(const ProjectDataManagement::UasState &newState) { m_data.uasStateId = static_cast(newState); } int32_t Uas::id() const { return m_data.id; } int32_t Uas::participantId() const { return m_data.participantId; } Database::PpmUas Uas::toDbUas() const { return m_data; } UAS Uas::toDdsUas() const { ParticipantManagement::UAS result; result.id = m_data.id; result.deviceIdentifier = m_data.deviceIdentifier.toStdString(); result.uasState = static_cast(m_data.uasStateId); result.participantId = m_data.participantId; result.exerciseId = m_data.exerciseId; result.hostname = m_data.hostname.toStdString(); result.hostport = m_data.hostport; result.sampleTime = QDateTime::currentDateTimeUtc().toMSecsSinceEpoch(); result.useTcp = m_data.useTcp; return result; } } // namespace ParticipantManagement } // namespace UasHandling