From 7d118cf47a4d892988b5538effc4ad588dfc595b Mon Sep 17 00:00:00 2001 From: aduffizi <alessandro.duffizi@lnf.infn.it> Date: Mon, 17 Jun 2019 16:53:03 +0200 Subject: [PATCH] Windows compliant --- chaos_micro_unit_toolkit/CMakeLists.txt | 12 +++++++++++- .../connection_adapter/AbstractConnectionAdapter.cpp | 6 +++--- .../http/HTTPConnectionAdapter.cpp | 2 +- .../connection/unit_proxy/AbstractUnitProxy.cpp | 2 +- .../unit_proxy/UnitProxyHandlerWrapper.cpp | 3 +++ .../raw_driver/ExternalDriverHandlerWrapper.cpp | 4 ++-- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/chaos_micro_unit_toolkit/CMakeLists.txt b/chaos_micro_unit_toolkit/CMakeLists.txt index 37f34fb46..b0faf4c48 100644 --- a/chaos_micro_unit_toolkit/CMakeLists.txt +++ b/chaos_micro_unit_toolkit/CMakeLists.txt @@ -2,7 +2,11 @@ cmake_minimum_required(VERSION 2.8) project(chaos_micro_unit_toolkit) -INCLUDE_DIRECTORIES( ../) +if(WIN32) +include_directories(${ALL_WINDOWS_INCLUDE_DIR}) +else() +include_directories(../) +endif(WIN32) SET(source ChaosMicroUnitToolkit.cpp) SET(source ${source} data/DataPack.cpp) @@ -46,7 +50,13 @@ ADD_LIBRARY(${PROJECT_NAME} SHARED ${source}) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 1.0.0 SOVERSION 1) ENDIF () + + +if(WIN32) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ALL_WINDOWS_LIBPATH} ) +else() TARGET_LINK_LIBRARIES(${PROJECT_NAME} pthread) +endif() FILE(GLOB files "*.h") INSTALL(FILES ${files} DESTINATION include/chaos_micro_unit_toolkit) diff --git a/chaos_micro_unit_toolkit/connection/connection_adapter/AbstractConnectionAdapter.cpp b/chaos_micro_unit_toolkit/connection/connection_adapter/AbstractConnectionAdapter.cpp index 10688c13b..22f99aa0b 100644 --- a/chaos_micro_unit_toolkit/connection/connection_adapter/AbstractConnectionAdapter.cpp +++ b/chaos_micro_unit_toolkit/connection/connection_adapter/AbstractConnectionAdapter.cpp @@ -33,7 +33,7 @@ adapter_request_id(0){} AbstractConnectionAdapter::~AbstractConnectionAdapter() {} -void AbstractConnectionAdapter::handleReceivedMessage(data::CDWShrdPtr& received_message) { +void AbstractConnectionAdapter::handleReceivedMessage(CDWShrdPtr& received_message) { //checn whenever the message is a response or spontaneus message if(received_message->hasKey("etx_request_id") && received_message->isInt32Value("etx_request_id")) { @@ -44,14 +44,14 @@ void AbstractConnectionAdapter::handleReceivedMessage(data::CDWShrdPtr& received } } -int AbstractConnectionAdapter::sendMessage(data::CDWUniquePtr& message) { +int AbstractConnectionAdapter::sendMessage(CDWUniquePtr& message) { if(connection_status != ConnectionStateAccepted){ return -1; } return sendRawMessage(message); } -int AbstractConnectionAdapter::sendRequest(data::CDWUniquePtr& message, +int AbstractConnectionAdapter::sendRequest(CDWUniquePtr& message, uint32_t& request_id) { request_id = adapter_request_id++; message->addInt32Value("ext_request_id", request_id); diff --git a/chaos_micro_unit_toolkit/connection/connection_adapter/http/HTTPConnectionAdapter.cpp b/chaos_micro_unit_toolkit/connection/connection_adapter/http/HTTPConnectionAdapter.cpp index 144364d01..8a34466b1 100644 --- a/chaos_micro_unit_toolkit/connection/connection_adapter/http/HTTPConnectionAdapter.cpp +++ b/chaos_micro_unit_toolkit/connection/connection_adapter/http/HTTPConnectionAdapter.cpp @@ -26,7 +26,7 @@ using namespace chaos::micro_unit_toolkit::data; using namespace chaos::micro_unit_toolkit::connection::connection_adapter::http; -const chaos::micro_unit_toolkit::connection::ConnectionType HTTPConnectionAdapter::connection_type = ConnectionTypeHTTP; +const chaos::micro_unit_toolkit::connection::ConnectionType HTTPConnectionAdapter::connection_type = chaos::micro_unit_toolkit::connection::ConnectionType::ConnectionTypeHTTP; HTTPConnectionAdapter::HTTPConnectionAdapter(const std::string& endpoint, const std::string& connection_header): diff --git a/chaos_micro_unit_toolkit/connection/unit_proxy/AbstractUnitProxy.cpp b/chaos_micro_unit_toolkit/connection/unit_proxy/AbstractUnitProxy.cpp index 15116c53e..68f5c1188 100644 --- a/chaos_micro_unit_toolkit/connection/unit_proxy/AbstractUnitProxy.cpp +++ b/chaos_micro_unit_toolkit/connection/unit_proxy/AbstractUnitProxy.cpp @@ -53,7 +53,7 @@ std::string RemoteMessage::getErrorDomain() const { } AbstractUnitProxy::AbstractUnitProxy(const std::string& _authorization_key, - ChaosUniquePtr<connection_adapter::AbstractConnectionAdapter>& _protocol_adapter): + ChaosUniquePtr<chaos::micro_unit_toolkit::connection::connection_adapter::AbstractConnectionAdapter>& _protocol_adapter): connection_adapter(MOVE(_protocol_adapter)), unit_state(UnitStateUnknown), authorization_key(_authorization_key){assert(connection_adapter.get());} diff --git a/chaos_micro_unit_toolkit/connection/unit_proxy/UnitProxyHandlerWrapper.cpp b/chaos_micro_unit_toolkit/connection/unit_proxy/UnitProxyHandlerWrapper.cpp index 73bfa4587..2fc3d365e 100644 --- a/chaos_micro_unit_toolkit/connection/unit_proxy/UnitProxyHandlerWrapper.cpp +++ b/chaos_micro_unit_toolkit/connection/unit_proxy/UnitProxyHandlerWrapper.cpp @@ -21,7 +21,10 @@ #include <chaos_micro_unit_toolkit/connection/unit_proxy/UnitProxyHandlerWrapper.h> #include <iostream> +#ifndef _WIN32 #include <unistd.h> +#endif +#include <chaos/cu_toolkit/windowsCompliant.h> #include <cassert> using namespace chaos::micro_unit_toolkit::data; diff --git a/chaos_micro_unit_toolkit/connection/unit_proxy/raw_driver/ExternalDriverHandlerWrapper.cpp b/chaos_micro_unit_toolkit/connection/unit_proxy/raw_driver/ExternalDriverHandlerWrapper.cpp index 1ce4dc611..89edf915c 100644 --- a/chaos_micro_unit_toolkit/connection/unit_proxy/raw_driver/ExternalDriverHandlerWrapper.cpp +++ b/chaos_micro_unit_toolkit/connection/unit_proxy/raw_driver/ExternalDriverHandlerWrapper.cpp @@ -35,7 +35,7 @@ using namespace chaos::micro_unit_toolkit::connection::unit_proxy::raw_driver; #define DEINIT_OPCODE "deinit" #define CONFIGURATION_STATE "configuration_state" -ExternalDriverHandlerWrapper::ExternalDriverHandlerWrapper(UnitProxyHandler handler, +ExternalDriverHandlerWrapper::ExternalDriverHandlerWrapper(chaos::micro_unit_toolkit::connection::unit_proxy::UnitProxyHandler handler, void *user_data, ChaosUniquePtr<ExternalDriverUnitProxy>& _u_proxy): UnitProxyHandlerWrapper(handler, @@ -51,7 +51,7 @@ authorized(false){} ExternalDriverHandlerWrapper::~ExternalDriverHandlerWrapper(){} -int ExternalDriverHandlerWrapper::sendMessage(data::CDWUniquePtr& message_data) { +int ExternalDriverHandlerWrapper::sendMessage(CDWUniquePtr& message_data) { ExternalDriverUnitProxy * const rd = static_cast<ExternalDriverUnitProxy*>(base_unit.get()); return rd->sendMessage(message_data); } -- GitLab