1 #ifndef __bbSlicerModuleWrapper_h_INCLUDED__
2 #define __bbSlicerModuleWrapper_h_INCLUDED__
4 #include "bbSlicer_EXPORT.h"
5 #include "bbtkAtomicBlackBox.h"
16 #include <ModuleDescriptionParser.h>
17 #include <ModuleParameterGroup.h>
18 #include <ModuleDescription.h>
19 #include <ModuleParameter.h>
22 #include <ModuleDescriptionUtilities.h>
24 #include "CreationTool.h"
28 class bbSlicer_EXPORT ModuleWrapper
30 public bbtk::AtomicBlackBox {
31 BBTK_BLACK_BOX_INTERFACE ( ModuleWrapper , bbtk::AtomicBlackBox ) ;
32 BBTK_DECLARE_INPUT ( Path_to_library , std::string ) ;
33 BBTK_DECLARE_INPUT ( Path_to_souce , std::string ) ;
34 BBTK_PROCESS ( Process ) ;
37 /// STD LD_OPEN CALLS ///
39 char* getModuleDescription ( std::string lib ) ;
43 void saveFile ( std::string content , std::string file_name ) ;
44 std::string loadFile ( std::string filename ) ;
45 std::string loadDummyHeader ( ) ;
46 std::string loadDummyBody ( ) ;
48 /// BBTK BOX CREATION ///
50 std::string updateProcessMethod ( const ModuleDescription* module , std::string content , std::string lib ) ;
51 std::string updateBoxDescription ( const ModuleDescription* module , std::string _header ) ;
52 std::string updateBoxInputs ( const ModuleDescription* module , std::string content ) ;
53 std::string updateBoxName ( const ModuleDescription* module , std::string content ) ;
54 const int getNumberOfArguments ( const ModuleDescription* module ) ;
55 std::string getHeaderFileName ( const ModuleDescription* module ) ;
56 std::string getBodyFileName ( const ModuleDescription* module ) ;
60 BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModuleWrapper , bbtk::AtomicBlackBox ) ;
61 BBTK_NAME ( "ModuleWrapper" ) ;
62 BBTK_AUTHOR ( "Juan Gabriel Riveros" ) ;
63 BBTK_DESCRIPTION ( "Interoperability Module" ) ;
64 BBTK_CATEGORY ( "Interoperability Module" ) ;
65 BBTK_INPUT ( ModuleWrapper , Path_to_library , "Shared library full path" , std::string , "" ) ;
66 BBTK_INPUT ( ModuleWrapper , Path_to_souce , "Slicer Interoperability pkg source directory" , std::string , "" ) ;
67 BBTK_END_DESCRIBE_BLACK_BOX ( ModuleWrapper ) ;
70 // EO namespace bbSlicer
72 #endif // __bbSlicerModuleWrapper_h_INCLUDED__