/** * @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 ServiceManagement { namespace WebSocketInterface { namespace Messages { 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 == SERVICE_PORTS_INFORMATION_REQUEST()) result = new ServicePortsInformationRequest(m_dataManager, client, m_type, m_typeId, m_uuid); 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) {} // ####### ClientMessage end ####### // ####### ServicesInformation begin ####### ServicePortsInformationRequest::ServicePortsInformationRequest(DataManager *dataManager, LtsWebSocket::ReplyHandler *client, const QString &type, const int typeId, const QString &uuid) : ClientMessage (dataManager,client, type, typeId, uuid) {} void ServicePortsInformationRequest::process() { m_client->addReply(m_dataManager->servicesInformation(m_uuid)); } bool ServicePortsInformationRequest::hasValidData() const { return true; } // ####### ServicesInformation end ####### } // namespace Messages } // namespace WebSocketInterface } // namespace ServiceManagement