X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ModuleCall%2FbbSlicerDummy.dummy_cxx;fp=ModuleCall%2FbbSlicerDummy.dummy_cxx;h=462fdead234e8ed9276e318e169272e2098b9ef7;hb=462cbc78485df39d3141c2d1e6137c4b78ab5db2;hp=0000000000000000000000000000000000000000;hpb=ba07bca141bd819a79c6684aa1b56b0a705aa664;p=creaCLI.git diff --git a/ModuleCall/bbSlicerDummy.dummy_cxx b/ModuleCall/bbSlicerDummy.dummy_cxx new file mode 100644 index 0000000..462fdea --- /dev/null +++ b/ModuleCall/bbSlicerDummy.dummy_cxx @@ -0,0 +1,50 @@ +#include "bbSlicerDummy.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Dummy ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Dummy, bbtk::AtomicBlackBox ); + + void Dummy::Process ( ) { + + // GENERATED +_33333_ + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Dummy::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Dummy::bbUserSetDefaultValues ( ) { + } + + void Dummy::bbUserInitializeProcessing ( ) { + } + + void Dummy::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer +