#ifndef __bbSlicerModuleWrapper_h_INCLUDED__ #define __bbSlicerModuleWrapper_h_INCLUDED__ #include "bbSlicer_EXPORT.h" #include "bbtkAtomicBlackBox.h" #include "iostream" #include #include #include #include #include #include #include #include #include #include #include #include "CreationTool.h" namespace bbSlicer { class bbSlicer_EXPORT ModuleWrapper : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE ( ModuleWrapper , bbtk::AtomicBlackBox ) ; BBTK_DECLARE_INPUT ( Path_to_library , std::string ) ; BBTK_DECLARE_INPUT ( Path_to_souce , std::string ) ; BBTK_PROCESS ( Process ) ; void Process ( ) ; private: /// STD LD_OPEN CALLS /// char* getModuleDescription ( std::string lib ) ; /// FILE RELATED /// void saveFile ( std::string content , std::string file_name ) ; std::string loadFile ( std::string filename ) ; std::string loadDummyHeader ( ) ; std::string loadDummyBody ( ) ; /// BBTK BOX CREATION /// std::string updateProcessMethod ( const ModuleDescription* module , std::string content , std::string lib ) ; std::string updateBoxDescription ( const ModuleDescription* module , std::string _header ) ; std::string updateBoxInputs ( const ModuleDescription* module , std::string content ) ; std::string updateBoxName ( const ModuleDescription* module , std::string content ) ; const int getNumberOfArguments ( const ModuleDescription* module ) ; std::string getHeaderFileName ( const ModuleDescription* module ) ; std::string getBodyFileName ( const ModuleDescription* module ) ; } ; BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModuleWrapper , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "ModuleWrapper" ) ; BBTK_AUTHOR ( "Juan Gabriel Riveros" ) ; BBTK_DESCRIPTION ( "Interoperability Module" ) ; BBTK_CATEGORY ( "Interoperability Module" ) ; BBTK_INPUT ( ModuleWrapper , Path_to_library , "Shared library full path" , std::string , "" ) ; BBTK_INPUT ( ModuleWrapper , Path_to_souce , "Slicer Interoperability pkg source directory" , std::string , "" ) ; BBTK_END_DESCRIBE_BLACK_BOX ( ModuleWrapper ) ; } // EO namespace bbSlicer #endif // __bbSlicerModuleWrapper_h_INCLUDED__