/** * @RDE_HEADER@ * The ClientMessage class is an abstract base class for concrete ClientMessage objects * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLST, 2017-12-05 */ #include "client_message.h" #include "WebSocketInterface/Messages/reply_message.h" #include "WebSocketInterface/json_keys.h" #include "WebSocketInterface/data_manager.h" #include #include namespace TrainingAreaBase { namespace WebSocketInterface { namespace ClientMessages { using namespace JsonKeys; // ####### ClientMessageFactory begin ####### ClientMessageFactory::ClientMessageFactory(DataManager *dataManager) : LtsWebSocket::AbstractClientMessageFactory(getLogger("ClientMessageFactory")) , m_dataManager(dataManager) {} LtsWebSocket::AbstractClientMessage *ClientMessageFactory::createMessage(LtsWebSocket::ReplyHandler *client, const QString &message) { LtsWebSocket::AbstractClientMessage *result = checkAttributes(client, message); if (result) return result; if (m_type == WebSocketInterface::JsonKeys::SEND_BITE_REQUEST()) result = new SendBiteRequest(m_dataManager, client, m_type, m_typeId, m_uuid, m_data); return checkResult(client, message, result); } // ####### ClientMessageFactory end ####### // ####### ClientMessage begin ####### ClientMessage::ClientMessage(DataManager *dataManager, LtsWebSocket::ReplyHandler *client, const QString &type, const int typeId, const QString &uuid, const QJsonValue &data) : LtsWebSocket::AbstractClientMessage(client, type, typeId, uuid, data) , m_dataManager(dataManager) , m_logger(getLogger("ClientMessage")) {} // ####### ClientMessage end ####### // ####### SendBiteRequest begin ####### SendBiteRequest::SendBiteRequest(DataManager *dataManager, LtsWebSocket::ReplyHandler *client, const QString &type, const int typeId, const QString &uuid, const QJsonValue &data) : ClientMessage(dataManager, client, type, typeId, uuid, data) {} void SendBiteRequest::process() { m_client->addReply(m_dataManager->sendBiteRequest(m_uuid, m_data.toObject().value(WebSocketInterface::JsonKeys::EQUIP_NO()).toInt())); } bool SendBiteRequest::hasValidData() const { return true; } } // namespace ClientMessages } // namespace WebSocketInterface } // namespace TrainingAreaBase