Difference between revisions of "Slicer3:Loadable Modules:Phase1"

From NAMIC Wiki
Jump to: navigation, search
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.  ??? Call entry point on library ??? using system tools.
+
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:Phase1

From 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.