/** * 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 = newState.underlying(); } 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