diff --git a/ipaacalib/cpp/CMakeLists.txt b/ipaacalib/cpp/CMakeLists.txt index 57551bdcca6d5c047eb73de2df9c3141e9508ff3..63b940c3c70aa3f353f9e1da9c92050d614c1c56 100644 --- a/ipaacalib/cpp/CMakeLists.txt +++ b/ipaacalib/cpp/CMakeLists.txt @@ -190,8 +190,8 @@ add_library(ipaaca SHARED ${SOURCE}) # and link all the required external libs (found above using find_package etc.) target_link_libraries(ipaaca ${LIBS}) -#add_executable (ipaaca-test-json ${JSON_TEST_SOURCE}) -#target_link_libraries (ipaaca-test-json ${LIBS}) +add_executable (ipaaca-test-json ${JSON_TEST_SOURCE}) +target_link_libraries (ipaaca-test-json ${LIBS}) set(DEFAULT_BIN_SUBDIR bin) set(DEFAULT_LIB_SUBDIR lib) @@ -214,11 +214,11 @@ install( DESTINATION include/ipaaca/ ) -#install ( -# TARGETS ipaaca-test-json -# RUNTIME DESTINATION bin -# LIBRARY DESTINATION lib -# ARCHIVE DESTINATION lib -# ) +install ( + TARGETS ipaaca-test-json + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) diff --git a/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h b/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h index d32c4f2264f7e2687fa96ff35273f77d9c8cd204..415cc782eea4be472b50188c88d57be4ba2472e2 100644 --- a/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h +++ b/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h @@ -34,6 +34,8 @@ #ifndef __ipaaca_payload_h_INCLUDED__ #define __ipaaca_payload_h_INCLUDED__ +#include <typeinfo> + #ifndef __ipaaca_h_INCLUDED__ #error "Please do not include this file directly, use ipaaca.h instead" #endif @@ -298,15 +300,19 @@ IPAACA_HEADER_EXPORT class PayloadEntryProxy//{{{ return result; } // FIXME why are these needed again? + [[deprecated("Use operator std::string() instead (i.e. explicit or implicit cast)")]] IPAACA_HEADER_EXPORT std::string to_str(); //long to_int() { return operator long(); ; + [[deprecated("Use operator long() instead (i.e. explicit or implicit cast)")]] IPAACA_HEADER_EXPORT long to_long(); + [[deprecated("Use operator double() instead (i.e. explicit or implicit cast)")]] IPAACA_HEADER_EXPORT double to_float(); + [[deprecated("Use operator bool() instead (i.e. explicit or implicit cast)")]] IPAACA_HEADER_EXPORT bool to_bool(); - // getters - IPAACA_HEADER_EXPORT template<typename T> T get() { return json_value_cast<T>(json_value); } // specializations below + // getters (not needed since conversions are enough?) + //IPAACA_HEADER_EXPORT template<typename T> T get() { return json_value_cast<T>(json_value); } // setters - IPAACA_HEADER_EXPORT template<typename T> PayloadEntryProxy& set(T t); + //IPAACA_HEADER_EXPORT template<typename T> PayloadEntryProxy& set(T t); /*{ pack_into_json_value<T>(t); connect_to_existing_parents(); diff --git a/ipaacalib/cpp/src/ipaaca-buffers.cc b/ipaacalib/cpp/src/ipaaca-buffers.cc index a485d04eaeda454bfdf1390331305524551744f4..38ac2031973f4e6de34ea8f187f678a23b6b30a2 100644 --- a/ipaacalib/cpp/src/ipaaca-buffers.cc +++ b/ipaacalib/cpp/src/ipaaca-buffers.cc @@ -289,8 +289,8 @@ IPAACA_EXPORT OutputBuffer::OutputBuffer(const std::string& basename, const std: IPAACA_EXPORT void OutputBuffer::_initialize_server() { //IPAACA_INFO("Entering ...") - //_server = getFactory().createLocalServer( Scope( _unique_name ) ); - _server = getFactory().createServer( Scope( _unique_name ) ); + _server = getFactory().createLocalServer( Scope( _unique_name ) ); + //_server = getFactory().createServer( Scope( _unique_name ) ); //IPAACA_INFO("Registering methods") _server->registerMethod("updatePayload", Server::CallbackPtr(new CallbackIUPayloadUpdate(this))); _server->registerMethod("updateLinks", Server::CallbackPtr(new CallbackIULinkUpdate(this))); diff --git a/ipaacalib/cpp/src/ipaaca-payload.cc b/ipaacalib/cpp/src/ipaaca-payload.cc index bea8bfda8728170233b9a316348e4704384e2bce..3f3a190549e87e554c327889a4c6b6053fe0cee1 100644 --- a/ipaacalib/cpp/src/ipaaca-payload.cc +++ b/ipaacalib/cpp/src/ipaaca-payload.cc @@ -501,35 +501,43 @@ IPAACA_EXPORT PayloadEntryProxy& PayloadEntryProxy::operator=(bool value) IPAACA_EXPORT PayloadEntryProxy::operator std::string() { - return PayloadEntryProxy::get<std::string>(); + return json_value_cast<std::string>(json_value); + //PayloadEntryProxy::get<std::string>(); } IPAACA_EXPORT PayloadEntryProxy::operator long() { - return PayloadEntryProxy::get<long>(); + return json_value_cast<long>(json_value); + //return PayloadEntryProxy::get<long>(); } IPAACA_EXPORT PayloadEntryProxy::operator double() { - return PayloadEntryProxy::get<double>(); + return json_value_cast<double>(json_value); + //return PayloadEntryProxy::get<double>(); } IPAACA_EXPORT PayloadEntryProxy::operator bool() { - return PayloadEntryProxy::get<bool>(); + return json_value_cast<bool>(json_value); + //return PayloadEntryProxy::get<bool>(); } IPAACA_EXPORT std::string PayloadEntryProxy::to_str() { - return PayloadEntryProxy::get<std::string>(); + return json_value_cast<std::string>(json_value); + //return PayloadEntryProxy::get<std::string>(); } IPAACA_EXPORT long PayloadEntryProxy::to_long() { - return PayloadEntryProxy::get<long>(); + return json_value_cast<long>(json_value); + //return PayloadEntryProxy::get<long>(); } IPAACA_EXPORT double PayloadEntryProxy::to_float() { - return PayloadEntryProxy::get<double>(); + return json_value_cast<double>(json_value); + //return PayloadEntryProxy::get<double>(); } IPAACA_EXPORT bool PayloadEntryProxy::to_bool() { - return PayloadEntryProxy::get<bool>(); + return json_value_cast<bool>(json_value); + //return PayloadEntryProxy::get<bool>(); }