/** * @RDE_HEADER@ * The DataManager class takes strucure element data from the HandlerStructureElement, * offers an interface to get and set structure data * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLST, 2017-12-05 */ #include "data_manager.h" #include "Messages/reply_message.h" #include "main_handler.h" namespace ParticipantManagement { namespace WebSocketInterface { //--------------------------------------------------------------------------------------------------------- DataManager::DataManager(int exerciseId, const std::shared_ptr &dbInterface, const std::shared_ptr &dtc) : LtsWebSocket::DataManagerBaseDl(dbInterface, getLogger(QStringLiteral("DataManager"))) , m_exerciseId(exerciseId) , m_ppmDtc(dtc) {} //--------------------------------------------------------------------------------------------------------- LtsWebSocket::ReplyMessage *DataManager::equipmentTypeBaseData(const QString &uuid) const { return toBaseDataMessageFromDb(uuid); } LtsWebSocket::ReplyMessage *DataManager::typeBaseData(const QString &uuid) const { return toBaseDataMessageFromDb(uuid); } LtsWebSocket::ReplyMessage *DataManager::partyBaseData(const QString &uuid) const { return toBaseDataMessageFromDb(uuid); } LtsWebSocket::ReplyMessage *DataManager::participantBaseData(const QString &uuid) const { return toBaseDataMessageFromDb(uuid); } LtsWebSocket::ReplyMessage *DataManager::ocPositionData(int equipmentNr, const QString &uuid) const { if (!m_ppmDtc->isParticipantPositionEnabled() || !m_ppmDtc->isParticipantEnabled()) { m_ppmDtc->enableParticipantPosition(); m_ppmDtc->enableParticipant(); } ParticipantPosition pos = m_ppmDtc->participantPosition(m_ppmDtc->participantIdByEquipmentNumber(equipmentNr)); QJsonObject obj; obj[QStringLiteral("participantId")] = pos.participantId(); obj[QStringLiteral("lat")] = pos.pos().lat(); obj[QStringLiteral("lon")] = pos.pos().lon(); obj[QStringLiteral("height")] = pos.pos().z(); obj[QStringLiteral("roomId")] = pos.roomId(); obj[QStringLiteral("buildingId")] = pos.buildingId(); return new ParticipantManagement::WebSocketInterface::Messages::OcPositionData(obj, uuid); } } // namespace WebSocketInterface } // namespace ParticipantManagement