37 static const char SYMBOLE_NAME_1[]=
"DefineCustomObservers";
38 static const char SYMBOLE_NAME_2[]=
"CleanUpObservers";
43 char *yacsDriverPluginPath(getenv(
"YACS_DRIVER_PLUGIN_PATH"));
44 if(!yacsDriverPluginPath)
46 void *handle(dlopen(yacsDriverPluginPath, RTLD_LAZY | RTLD_GLOBAL));
49 std::string message(dlerror());
50 std::ostringstream oss; oss <<
"Error during load of \"" << yacsDriverPluginPath <<
"\" defined by the YACS_DRIVER_PLUGIN_PATH env var : " << message;
56 std::ostringstream oss; oss <<
"Error during load of \"" << yacsDriverPluginPath <<
"\" ! Library has been correctly loaded but symbol " << SYMBOLE_NAME_1 <<
" does not exists !";
62 std::ostringstream oss; oss <<
"Error during load of \"" << yacsDriverPluginPath <<
"\" ! Library has been correctly loaded but symbol " << SYMBOLE_NAME_2 <<
" does not exists !";
void(* CleanUpObservers)()
void * HandleOnLoadedPlugin
void(* DefineCustomObservers)(YACS::ENGINE::Dispatcher *, YACS::ENGINE::ComposedNode *, YACS::ENGINE::Executor *)
Base class for all composed nodes.
Base class for dispatcher in observer pattern.
void YACSLIBENGINE_EXPORT UnLoadObserversPluginIfAny()
void YACSLIBENGINE_EXPORT LoadObserversPluginIfAny(ComposedNode *rootNode, Executor *executor)