]> Creatis software - creaCLI.git/blobdiff - bbtk_Slicer_PKG/src/bbSlicerDummy.dummy_cxx
bbtk-Slicer Module JGRR
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerDummy.dummy_cxx
diff --git a/bbtk_Slicer_PKG/src/bbSlicerDummy.dummy_cxx b/bbtk_Slicer_PKG/src/bbSlicerDummy.dummy_cxx
new file mode 100644 (file)
index 0000000..462fdea
--- /dev/null
@@ -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
+