Files
qt5-legatus-legacy/Lts/Services/ParticipantManagement/UasHandling/uas.cpp
T
2026-08-13 18:33:10 +02:00

92 lines
2.3 KiB
C++
Executable File

/**
* 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<ProjectDataManagement::UasState::inner_enum>(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