From 82e48e4e9bebc50fdd0190199f2badb8f2e0168e Mon Sep 17 00:00:00 2001 From: legoc Date: Tue, 8 Oct 2024 13:05:08 +0200 Subject: [PATCH] Moved JSON.h out of include --- cpp/api/include/RequestSocket.h | 28 ----------- cpp/api/src/base/Application.cpp | 2 +- cpp/api/{include => src/base}/JSON.h | 0 cpp/api/src/base/RequestSocket.cpp | 33 ------------- cpp/api/src/base/Server.cpp | 48 +++++++++---------- .../base/impl/zmq/EventStreamSocketZmq.cpp | 2 +- .../base/impl/zmq/OutputStreamSocketZmq.cpp | 2 +- cpp/api/src/coms/PublisherSubscriber.cpp | 1 + .../src/coms/impl/zmq/BasicResponderZmq.cpp | 2 +- cpp/api/src/coms/impl/zmq/BasicResponderZmq.h | 2 +- .../src/coms/impl/zmq/MultiResponderZmq.cpp | 2 +- cpp/api/src/coms/impl/zmq/MultiResponderZmq.h | 2 +- cpp/api/src/coms/impl/zmq/PublisherZmq.cpp | 2 +- cpp/api/src/coms/impl/zmq/RequesterZmq.cpp | 2 +- cpp/api/src/coms/impl/zmq/SubscriberZmq.cpp | 2 +- cpp/api/tests/TestApplicationIdentity.cpp | 2 +- .../TestApplicationWithStarterIdentity.cpp | 3 +- 17 files changed, 37 insertions(+), 98 deletions(-) rename cpp/api/{include => src/base}/JSON.h (100%) diff --git a/cpp/api/include/RequestSocket.h b/cpp/api/include/RequestSocket.h index e5ffa3d1..575f35cf 100644 --- a/cpp/api/include/RequestSocket.h +++ b/cpp/api/include/RequestSocket.h @@ -17,7 +17,6 @@ #ifndef CAMEO_REQUESTSOCKET_H_ #define CAMEO_REQUESTSOCKET_H_ -#include "JSON.h" #include #include @@ -79,33 +78,6 @@ class RequestSocket { */ std::string request(const std::string& requestPart1, const std::string& requestPart2, const std::string& requestPart3, int overrideTimeout = -1); - /** - * Send a request. - * \param request The JSON string request. - * \param overrideTimeout Timeout that overrides the timeout defined previously. - * \return The JSON object response. - */ - json::Object requestJSON(const std::string& request, int overrideTimeout = -1); - - /** - * Send a request. - * \param requestPart1 The JSON string request part 1. - * \param requestPart2 The request part 2. - * \param overrideTimeout Timeout that overrides the timeout defined previously. - * \return The JSON object response. - */ - json::Object requestJSON(const std::string& requestPart1, const std::string& requestPart2, int overrideTimeout = -1); - - /** - * Send a request. - * \param requestPart1 The JSON string request part 1. - * \param requestPart2 The request part 2. - * \param requestPart3 The request part 3. - * \param overrideTimeout Timeout that overrides the timeout defined previously. - * \return The JSON object response. - */ - json::Object requestJSON(const std::string& requestPart1, const std::string& requestPart2, const std::string& requestPart3, int overrideTimeout = -1); - private: std::unique_ptr m_impl; }; diff --git a/cpp/api/src/base/Application.cpp b/cpp/api/src/base/Application.cpp index d8671ba7..2d4f8bb4 100644 --- a/cpp/api/src/base/Application.cpp +++ b/cpp/api/src/base/Application.cpp @@ -463,7 +463,7 @@ void This::stop() { std::unique_ptr requestSocket{m_server->createServerRequestSocket()}; std::string request {createStopRequest(m_id, true)}; - requestSocket->requestJSON(request); + requestSocket->request(request); } void This::startCheckStatesThread() { diff --git a/cpp/api/include/JSON.h b/cpp/api/src/base/JSON.h similarity index 100% rename from cpp/api/include/JSON.h rename to cpp/api/src/base/JSON.h diff --git a/cpp/api/src/base/RequestSocket.cpp b/cpp/api/src/base/RequestSocket.cpp index d37c1ddd..6ab49eef 100644 --- a/cpp/api/src/base/RequestSocket.cpp +++ b/cpp/api/src/base/RequestSocket.cpp @@ -52,37 +52,4 @@ std::string RequestSocket::request(const std::string& requestPart1, const std::s return m_impl->request(requestPart1, requestPart2, requestPart3, overrideTimeout); } -json::Object RequestSocket::requestJSON(const std::string& request, int overrideTimeout) { - - std::string reply {this->request(request, overrideTimeout)}; - - // Get the JSON response. - json::Object response; - json::parse(response, reply); - - return response; -} - -json::Object RequestSocket::requestJSON(const std::string& requestPart1, const std::string& requestPart2, int overrideTimeout) { - - std::string reply {this->request(requestPart1, requestPart2, overrideTimeout)}; - - // Get the JSON response. - json::Object response; - json::parse(response, reply); - - return response; -} - -json::Object RequestSocket::requestJSON(const std::string& requestPart1, const std::string& requestPart2, const std::string& requestPart3, int overrideTimeout) { - - std::string reply {this->request(requestPart1, requestPart2, requestPart3, overrideTimeout)}; - - // Get the JSON response. - json::Object response; - json::parse(response, reply); - - return response; -} - } diff --git a/cpp/api/src/base/Server.cpp b/cpp/api/src/base/Server.cpp index b5e933d7..1646969d 100644 --- a/cpp/api/src/base/Server.cpp +++ b/cpp/api/src/base/Server.cpp @@ -189,7 +189,7 @@ bool Server::usesProxy() const { bool Server::isAvailable(int timeout) const { try { - m_requestSocket->requestJSON(createSyncRequest(), timeout); + m_requestSocket->request(createSyncRequest(), timeout); return true; } catch (const ConnectionTimeout&) { @@ -243,10 +243,10 @@ std::unique_ptr Server::start(const std::string& name, const std::vectorrequestJSON(createStartRequest(name, args, "", 0, "", 0, false)); + response = json::toJSON(m_requestSocket->request(createStartRequest(name, args, "", 0, "", 0, false))); } else { - response = m_requestSocket->requestJSON(createStartRequest(name, args, This::getName(), This::getId(), This::getEndpoint().toString(), This::getServer().m_responderProxyPort, linked)); + response = json::toJSON(m_requestSocket->request(createStartRequest(name, args, This::getName(), This::getId(), This::getEndpoint().toString(), This::getServer().m_responderProxyPort, linked))); } int value {response[message::RequestResponse::VALUE].GetInt()}; @@ -279,7 +279,7 @@ Response Server::stop(int id, bool immediately) const { request = createStopRequest(id, false); } - json::Object response {m_requestSocket->requestJSON(request)}; + json::Object response {json::toJSON(m_requestSocket->request(request))}; int value {response[message::RequestResponse::VALUE].GetInt()}; std::string message {response[message::RequestResponse::MESSAGE].GetString()}; @@ -291,7 +291,7 @@ AppArray Server::connectAll(const std::string& name, int options) { bool outputStream {((options & option::OUTPUTSTREAM) != 0)}; - json::Object response {m_requestSocket->requestJSON(createConnectRequest(name))}; + json::Object response {json::toJSON(m_requestSocket->request(createConnectRequest(name)))}; AppArray instances; @@ -362,7 +362,7 @@ std::unique_ptr Server::connect(int id, int options) { bool outputStream {((options & option::OUTPUTSTREAM) != 0)}; - json::Object response {m_requestSocket->requestJSON(createConnectWithIdRequest(id))}; + json::Object response {json::toJSON(m_requestSocket->request(createConnectWithIdRequest(id)))}; json::Value& applicationInfo {response[message::ApplicationInfoListResponse::APPLICATION_INFO]}; json::Value::Array array = {applicationInfo.GetArray()}; @@ -411,7 +411,7 @@ void Server::killAllAndWaitFor(const std::string& name) { bool Server::isAlive(int id) const { - json::Object response {m_requestSocket->requestJSON(createIsAliveRequest(id))}; + json::Object response {json::toJSON(m_requestSocket->request(createIsAliveRequest(id)))}; return response[message::IsAliveResponse::IS_ALIVE].GetBool(); } @@ -420,7 +420,7 @@ std::vector Server::getApplicationConfigs() const { std::vector configs; - json::Object response {m_requestSocket->requestJSON(createListRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createListRequest()))}; json::Value& applicationConfigs {response[message::ApplicationConfigListResponse::APPLICATION_CONFIG]}; json::Value::Array array {applicationConfigs.GetArray()}; @@ -464,7 +464,7 @@ std::vector Server::getApplicationInfos() const { std::vector infos; - json::Object response {m_requestSocket->requestJSON(createAppsRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createAppsRequest()))}; json::Value& applicationInfos {response[message::ApplicationInfoListResponse::APPLICATION_INFO]}; json::Value::Array array {applicationInfos.GetArray()}; @@ -512,7 +512,7 @@ std::vector Server::getPorts() const { std::vector ports; - json::Object response {m_requestSocket->requestJSON(createPortsRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createPortsRequest()))}; json::Value& portInfos {response[message::PortInfoListResponse::PORT_INFO]}; json::Value::Array array {portInfos.GetArray()}; @@ -540,14 +540,14 @@ state::Value Server::getActualState(int id) const { state::Value Server::getState(int id) const { - json::Object response {m_requestSocket->requestJSON(createGetStatusRequest(id))}; + json::Object response {json::toJSON(m_requestSocket->request(createGetStatusRequest(id)))}; return response[message::StatusEvent::APPLICATION_STATE].GetInt(); } std::set Server::getPastStates(int id) const { - json::Object response {m_requestSocket->requestJSON(createGetStatusRequest(id))}; + json::Object response {json::toJSON(m_requestSocket->request(createGetStatusRequest(id)))}; state::Value applicationStates {response[message::StatusEvent::PAST_APPLICATION_STATES].GetInt()}; @@ -623,7 +623,7 @@ std::unique_ptr Server::createConnectionChecker(ConnectionChe void Server::storeKeyValue(int id, const std::string& key, const std::string& value) { - json::Object response {m_requestSocket->requestJSON(createStoreKeyValueRequest(id, key, value))}; + json::Object response {json::toJSON(m_requestSocket->request(createStoreKeyValueRequest(id, key, value)))}; int responseValue {response[message::RequestResponse::VALUE].GetInt()}; if (responseValue == -1) { @@ -636,7 +636,7 @@ void Server::storeKeyValue(int id, const std::string& key, const std::string& va std::string Server::getKeyValue(int id, const std::string& key) { - json::Object response {m_requestSocket->requestJSON(createGetKeyValueRequest(id, key))}; + json::Object response {json::toJSON(m_requestSocket->request(createGetKeyValueRequest(id, key)))}; int responseValue {response[message::RequestResponse::VALUE].GetInt()}; if (responseValue == 0) { @@ -654,7 +654,7 @@ std::string Server::getKeyValue(int id, const std::string& key) { void Server::removeKey(int id, const std::string& key) { - json::Object response {m_requestSocket->requestJSON(createRemoveKeyRequest(id, key))}; + json::Object response {json::toJSON(m_requestSocket->request(createRemoveKeyRequest(id, key)))}; int value {response[message::RequestResponse::VALUE].GetInt()}; if (value == -1) { @@ -667,7 +667,7 @@ void Server::removeKey(int id, const std::string& key) { int Server::requestPort(int id) { - json::Object response {m_requestSocket->requestJSON(createRequestPortRequest(id))}; + json::Object response {json::toJSON(m_requestSocket->request(createRequestPortRequest(id)))}; int value {response[message::RequestResponse::VALUE].GetInt()}; if (value == -1) { @@ -679,7 +679,7 @@ int Server::requestPort(int id) { void Server::setPortUnavailable(int id, int port) { - json::Object response {m_requestSocket->requestJSON(createPortUnavailableRequest(id, port))}; + json::Object response {json::toJSON(m_requestSocket->request(createPortUnavailableRequest(id, port)))}; int value {response[message::RequestResponse::VALUE].GetInt()}; if (value == -1) { @@ -689,7 +689,7 @@ void Server::setPortUnavailable(int id, int port) { void Server::releasePort(int id, int port) { - json::Object response {m_requestSocket->requestJSON(createReleasePortRequest(id, port))}; + json::Object response {json::toJSON(m_requestSocket->request(createReleasePortRequest(id, port)))}; int value = response[message::RequestResponse::VALUE].GetInt(); if (value == -1) { @@ -748,7 +748,7 @@ void Server::initRequestSocket() { void Server::retrieveServerVersion() { - json::Object response {m_requestSocket->requestJSON(createVersionRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createVersionRequest()))}; m_serverVersion[0] = response[message::VersionResponse::MAJOR].GetInt(); m_serverVersion[1] = response[message::VersionResponse::MINOR].GetInt(); @@ -757,35 +757,35 @@ void Server::retrieveServerVersion() { int Server::retrieveStatusPort() { - json::Object response {m_requestSocket->requestJSON(createStreamStatusRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createStreamStatusRequest()))}; return response[message::RequestResponse::VALUE].GetInt(); } int Server::retrieveStreamPort(const std::string& name) { - json::Object response {m_requestSocket->requestJSON(createOutputPortRequest(name))}; + json::Object response {json::toJSON(m_requestSocket->request(createOutputPortRequest(name)))}; return response[message::RequestResponse::VALUE].GetInt(); } int Server::retrieveResponderProxyPort() { - json::Object response {m_requestSocket->requestJSON(createResponderProxyPortRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createResponderProxyPortRequest()))}; return response[message::RequestResponse::VALUE].GetInt(); } int Server::retrievePublisherProxyPort() { - json::Object response {m_requestSocket->requestJSON(createPublisherProxyPortRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createPublisherProxyPortRequest()))}; return response[message::RequestResponse::VALUE].GetInt(); } int Server::retrieveSubscriberProxyPort() { - json::Object response {m_requestSocket->requestJSON(createSubscriberProxyPortRequest())}; + json::Object response {json::toJSON(m_requestSocket->request(createSubscriberProxyPortRequest()))}; return response[message::RequestResponse::VALUE].GetInt(); } diff --git a/cpp/api/src/base/impl/zmq/EventStreamSocketZmq.cpp b/cpp/api/src/base/impl/zmq/EventStreamSocketZmq.cpp index 58a682dc..c9af7633 100644 --- a/cpp/api/src/base/impl/zmq/EventStreamSocketZmq.cpp +++ b/cpp/api/src/base/impl/zmq/EventStreamSocketZmq.cpp @@ -66,7 +66,7 @@ void EventStreamSocketZmq::init(Context * context, const Endpoint& endpoint, Req while (true) { try { - requestSocket->requestJSON(createSyncRequest()); + requestSocket->request(createSyncRequest()); } catch (const ConnectionTimeout& e) { // The server is not accessible. diff --git a/cpp/api/src/base/impl/zmq/OutputStreamSocketZmq.cpp b/cpp/api/src/base/impl/zmq/OutputStreamSocketZmq.cpp index 3378bc21..c1c41c46 100644 --- a/cpp/api/src/base/impl/zmq/OutputStreamSocketZmq.cpp +++ b/cpp/api/src/base/impl/zmq/OutputStreamSocketZmq.cpp @@ -69,7 +69,7 @@ void OutputStreamSocketZmq::init(Context * context, const Endpoint& endpoint, Re while (true) { try { - requestSocket->requestJSON(createSyncStreamRequest(m_name)); + requestSocket->request(createSyncStreamRequest(m_name)); } catch (const ConnectionTimeout&) { // The server is not accessible. diff --git a/cpp/api/src/coms/PublisherSubscriber.cpp b/cpp/api/src/coms/PublisherSubscriber.cpp index e57fdf5c..a9224749 100644 --- a/cpp/api/src/coms/PublisherSubscriber.cpp +++ b/cpp/api/src/coms/PublisherSubscriber.cpp @@ -26,6 +26,7 @@ #include "Requester.h" #include "impl/zmq/PublisherZmq.h" #include "impl/zmq/SubscriberZmq.h" +#include "../base/JSON.h" namespace cameo { namespace coms { diff --git a/cpp/api/src/coms/impl/zmq/BasicResponderZmq.cpp b/cpp/api/src/coms/impl/zmq/BasicResponderZmq.cpp index 203e30eb..cc6b8103 100644 --- a/cpp/api/src/coms/impl/zmq/BasicResponderZmq.cpp +++ b/cpp/api/src/coms/impl/zmq/BasicResponderZmq.cpp @@ -84,7 +84,7 @@ void ResponderZmq::cancel() { // Create a request socket connected directly to the responder. std::unique_ptr requestSocket {This::getCom().createRequestSocket(This::getEndpoint().withPort(m_responderPort).toString(), m_responderIdentity)}; - requestSocket->requestJSON(jsonRequest.dump()); + requestSocket->request(jsonRequest.dump()); } bool ResponderZmq::isCanceled() { diff --git a/cpp/api/src/coms/impl/zmq/BasicResponderZmq.h b/cpp/api/src/coms/impl/zmq/BasicResponderZmq.h index ae921db7..89392d8e 100644 --- a/cpp/api/src/coms/impl/zmq/BasicResponderZmq.h +++ b/cpp/api/src/coms/impl/zmq/BasicResponderZmq.h @@ -18,7 +18,7 @@ #define CAMEO_COMS_BASIC_RESPONDERZMQ_H_ #include "../BasicResponderImpl.h" -#include "JSON.h" +#include "../../../base/JSON.h" #include #include diff --git a/cpp/api/src/coms/impl/zmq/MultiResponderZmq.cpp b/cpp/api/src/coms/impl/zmq/MultiResponderZmq.cpp index 432f378a..1dc334f2 100644 --- a/cpp/api/src/coms/impl/zmq/MultiResponderZmq.cpp +++ b/cpp/api/src/coms/impl/zmq/MultiResponderZmq.cpp @@ -54,7 +54,7 @@ void ResponderZmq::cancel() { // Create a request socket connected directly to the responder. std::unique_ptr requestSocket {This::getCom().createRequestSocket(m_cancelEndpoint, "")}; - requestSocket->requestJSON(jsonRequest.dump()); + requestSocket->request(jsonRequest.dump()); } std::unique_ptr ResponderZmq::processCancel() { diff --git a/cpp/api/src/coms/impl/zmq/MultiResponderZmq.h b/cpp/api/src/coms/impl/zmq/MultiResponderZmq.h index fa1e0c26..6f779193 100644 --- a/cpp/api/src/coms/impl/zmq/MultiResponderZmq.h +++ b/cpp/api/src/coms/impl/zmq/MultiResponderZmq.h @@ -18,7 +18,7 @@ #define CAMEO_COMS_BASIC_RESPONDERZMQ_H_ #include "../MultiResponderImpl.h" -#include "JSON.h" +#include "../../../base/JSON.h" #include #include diff --git a/cpp/api/src/coms/impl/zmq/PublisherZmq.cpp b/cpp/api/src/coms/impl/zmq/PublisherZmq.cpp index ae801bcf..7d7e2a87 100644 --- a/cpp/api/src/coms/impl/zmq/PublisherZmq.cpp +++ b/cpp/api/src/coms/impl/zmq/PublisherZmq.cpp @@ -17,9 +17,9 @@ #include "PublisherZmq.h" #include "Application.h" #include "Messages.h" -#include "JSON.h" #include "RequestSocket.h" #include "ContextZmq.h" +#include "../../../base/JSON.h" namespace cameo { namespace coms { diff --git a/cpp/api/src/coms/impl/zmq/RequesterZmq.cpp b/cpp/api/src/coms/impl/zmq/RequesterZmq.cpp index 2ca7591e..9a4afcfe 100644 --- a/cpp/api/src/coms/impl/zmq/RequesterZmq.cpp +++ b/cpp/api/src/coms/impl/zmq/RequesterZmq.cpp @@ -17,8 +17,8 @@ #include "RequesterZmq.h" #include "Application.h" #include "Messages.h" -#include "JSON.h" #include "ContextZmq.h" +#include "../../../base/JSON.h" namespace cameo { namespace coms { diff --git a/cpp/api/src/coms/impl/zmq/SubscriberZmq.cpp b/cpp/api/src/coms/impl/zmq/SubscriberZmq.cpp index 486ff83e..ae100441 100644 --- a/cpp/api/src/coms/impl/zmq/SubscriberZmq.cpp +++ b/cpp/api/src/coms/impl/zmq/SubscriberZmq.cpp @@ -17,12 +17,12 @@ #include "SubscriberZmq.h" #include "Server.h" #include "Messages.h" -#include "JSON.h" #include "Waiting.h" #include "RequestSocket.h" #include "ContextZmq.h" #include "IdGenerator.h" #include "../PublisherImpl.h" +#include "../../../base/JSON.h" namespace cameo { namespace coms { diff --git a/cpp/api/tests/TestApplicationIdentity.cpp b/cpp/api/tests/TestApplicationIdentity.cpp index 3a9c423c..1a3e720c 100644 --- a/cpp/api/tests/TestApplicationIdentity.cpp +++ b/cpp/api/tests/TestApplicationIdentity.cpp @@ -1,7 +1,7 @@ #include "Test.h" #include "Strings.h" #include "Messages.h" -#include "JSON.h" +#include "../src/base/JSON.h" #include using namespace std; diff --git a/cpp/api/tests/TestApplicationWithStarterIdentity.cpp b/cpp/api/tests/TestApplicationWithStarterIdentity.cpp index c518fce3..b9aaf076 100644 --- a/cpp/api/tests/TestApplicationWithStarterIdentity.cpp +++ b/cpp/api/tests/TestApplicationWithStarterIdentity.cpp @@ -1,8 +1,7 @@ #include "Test.h" #include "Strings.h" #include "Messages.h" -#include "JSON.h" -#include +#include "../src/base/JSON.h" using namespace std; using namespace cameo;