Difference between revisions of "Slicer3:Loadable Modules:Phase1"
From NAMIC Wiki
TerryLorber (talk | contribs) |
TerryLorber (talk | contribs) |
||
Line 9: | Line 9: | ||
Starting at ~900 in Applications/GUI/Slicer3.cxx, static modules load occurs. | Starting at ~900 in Applications/GUI/Slicer3.cxx, static modules load occurs. | ||
− | Using vtkSys tools to list shared libraries present. | + | Using vtkSys tools to list shared libraries present. Use itk::DyanmicLoader to open libraries and call our specified entry points. |
The actions taken for each module to be added could be queried from the found shared library using a LoadableModuleInfo class. Some of the information a library should provide: | The actions taken for each module to be added could be queried from the found shared library using a LoadableModuleInfo class. Some of the information a library should provide: | ||
Line 19: | Line 19: | ||
* module name | * module name | ||
− | LoadableModuleFactory (ala Libs/ModuleDescriptionParser/ModuleFactory.cxx) | + | LoadableModuleFactory (ala Libs/ModuleDescriptionParser/ModuleFactory.cxx) handles this. |
Revision as of 16:10, 15 December 2007
Home < Slicer3:Loadable Modules:Phase1From Slicer3:Loadable_Modules:
* runtime module discovery * module template * like CommandLineModuleFactory
Starting at ~900 in Applications/GUI/Slicer3.cxx, static modules load occurs.
Using vtkSys tools to list shared libraries present. Use itk::DyanmicLoader to open libraries and call our specified entry points.
The actions taken for each module to be added could be queried from the found shared library using a LoadableModuleInfo class. Some of the information a library should provide:
- vtkSlicerLogic pointer (maybe this is one of the defined entry points for a loadable module)
- methods to call on the Logic pointer
- vtkSlicerModulesGUI pointer (ditto)
- methods to call on the GUI pointer
- module name
LoadableModuleFactory (ala Libs/ModuleDescriptionParser/ModuleFactory.cxx) handles this.