+++ /dev/null
-#ifndef __cpPlugins__Interface__Plugins__h__
-#define __cpPlugins__Interface__Plugins__h__
-
-#include <cpPlugins/Config.h>
-#include <cpPlugins/BaseObjects/ProcessObject.h>
-#include <itkObject.h>
-#include <map>
-#include <set>
-#include <string>
-
-namespace cpPlugins
-{
- namespace Interface
- {
- /**
- */
- class cpPlugins_EXPORT Plugins
- : public itk::Object
- {
- public:
- typedef Plugins Self;
- typedef itk::Object Superclass;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- typedef std::pair< void*, void* > THandlers;
- typedef std::pair< std::string, THandlers > TLibData;
- typedef std::map< std::string, TLibData > TLibraries;
- typedef std::map< std::string, TLibraries > TFilters;
-
- public:
- itkTypeMacro( Plugins, itk::Object );
-
- public:
- static Pointer New( );
- virtual itk::LightObject::Pointer CreateAnother( ) const cpPlugins_OVERRIDE;
- Pointer Clone( ) const;
-
- const TFilters& GetFilters( ) const;
-
- void LoadPluginsFile( const std::string& libname );
- void LoadPluginsDirectory( const std::string& dir );
- void GuessPlugins( );
- void GuessEnvironment( const std::string& dir );
- bool SaveEnvironment( const std::string& dir );
-
- cpPlugins::BaseObjects::ProcessObject::Pointer
- CreateFilter( const std::string& category, const std::string& name );
-
- protected:
- Plugins( );
- virtual ~Plugins( );
- virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const cpPlugins_OVERRIDE;
-
- void _ReadPluginsPathsVariable( );
-
- private:
- // Purposely not implemented
- Plugins( const Self& other );
- Self& operator=( const Self& other );
-
- protected:
- static Pointer m_Singleton;
- std::set< std::string > m_PluginsPaths;
- TFilters m_Filters;
- };
-
- } // ecapseman
-
-} // ecapseman
-
-#endif // __cpPlugins__Interface__Plugins__h__
-
-// eof - $RCSfile$