Skip to content
Snippets Groups Projects
Commit 7ec5e6f5 authored by Ramin Yaghoubzadeh Torky's avatar Ramin Yaghoubzadeh Torky
Browse files

=== ADVANCED TO RSB WITH STABLE VERSION 0.9 ===

Tested on Mac and Linux. Please report any issues.
Please update the rsb project first.
Also, please update the soa script and run "soa fix".
parent fdbcf3c9
No related branches found
No related tags found
No related merge requests found
...@@ -25,13 +25,13 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) ...@@ -25,13 +25,13 @@ include_directories(${PROTOBUF_INCLUDE_DIRS})
#set(RSBLIBS rsc rsbcore) #set(RSBLIBS rsc rsbcore)
# add for for each new rsb version # add for for each new rsb version
include_directories( ${PROJECT_SOURCE_DIR}/../../deps/include/rsc0.8 ) include_directories( ${PROJECT_SOURCE_DIR}/../../deps/include/rsc0.9 )
include_directories( ${PROJECT_SOURCE_DIR}/../../deps/include/rsb0.8 ) include_directories( ${PROJECT_SOURCE_DIR}/../../deps/include/rsb0.9 )
# change for each new rsb version # change for each new rsb version
if (DEFINED APPLE) if (DEFINED APPLE)
set(RSBLIBS rsc.0.8 rsb.0.8) set(RSBLIBS rsc0.9 rsb.0.9)
else(DEFINED APPLE) else(DEFINED APPLE)
set(RSBLIBS ${PROJECT_SOURCE_DIR}/../../deps/lib/librsc.so.0.8 ${PROJECT_SOURCE_DIR}/../../deps/lib/librsb.so.0.8 ) set(RSBLIBS ${PROJECT_SOURCE_DIR}/../../deps/lib/librsc0.9.so ${PROJECT_SOURCE_DIR}/../../deps/lib/librsb.so.0.9 )
endif(DEFINED APPLE) endif(DEFINED APPLE)
#set(LIBS ${LIBS} ${BOOSTLIBS} ${PROTOLIBS} ${RSBLIBS}) #set(LIBS ${LIBS} ${BOOSTLIBS} ${PROTOLIBS} ${RSBLIBS})
......
...@@ -459,6 +459,7 @@ class Initializer ...@@ -459,6 +459,7 @@ class Initializer
{ {
public: public:
static void initialize_ipaaca_rsb_if_needed(); static void initialize_ipaaca_rsb_if_needed();
static void initialize_updated_default_config();
static bool initialized(); static bool initialized();
protected: protected:
static bool _initialized; static bool _initialized;
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <ipaaca/ipaaca.h> #include <ipaaca/ipaaca.h>
#include <cstdlib> #include <cstdlib>
#include <glob.h>
namespace ipaaca { namespace ipaaca {
...@@ -57,6 +58,9 @@ bool Initializer::initialized() { return _initialized; } ...@@ -57,6 +58,9 @@ bool Initializer::initialized() { return _initialized; }
void Initializer::initialize_ipaaca_rsb_if_needed() void Initializer::initialize_ipaaca_rsb_if_needed()
{ {
if (_initialized) return; if (_initialized) return;
initialize_updated_default_config();
// RYT FIXME This configuration stuff has been simply removed in rsb! // RYT FIXME This configuration stuff has been simply removed in rsb!
//ParticipantConfig config = ParticipantConfig::fromConfiguration(); //ParticipantConfig config = ParticipantConfig::fromConfiguration();
//getFactory().setDefaultParticipantConfig(config); //getFactory().setDefaultParticipantConfig(config);
...@@ -86,6 +90,35 @@ void Initializer::initialize_ipaaca_rsb_if_needed() ...@@ -86,6 +90,35 @@ void Initializer::initialize_ipaaca_rsb_if_needed()
//IPAACA_TODO("initialize all converters") //IPAACA_TODO("initialize all converters")
} }
void Initializer::initialize_updated_default_config()
{
// quick hack to iterate through the pwd parents
// and find the closest rsb plugin dir
//
// but only if not yet defined
const char* plugin_path = getenv("RSB_PLUGINS_CPP_PATH");
if (!plugin_path) {
LOG_IPAACA_CONSOLE("RSB_PLUGINS_CPP_PATH not set; looking here and up to 7 dirs up.")
std::string pathstr = "./";
for (int i=0; i< 8 /* depth EIGHT (totally arbitrary..) */ ; i++) {
std::string where_str = pathstr+"deps/lib/rsb*/plugins";
const char* where = where_str.c_str();
glob_t g;
glob(where, 0, NULL, &g);
if (g.gl_pathc>0) {
const char* found_path = g.gl_pathv[0];
LOG_IPAACA_CONSOLE("Found an RSB plugin dir which will be used automatically: " << found_path)
setenv("RSB_PLUGINS_CPP_PATH", found_path, 1);
break;
} // else keep going
globfree(&g);
pathstr += "../";
}
} else {
LOG_IPAACA_CONSOLE("RSB_PLUGINS_CPP_PATH already defined: " << plugin_path)
}
}
std::string generate_uuid_string() std::string generate_uuid_string()
{ {
uuid_t uuidt; uuid_t uuidt;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment