1 #ifndef __CPPLUGINS__INTERFACE__H__
2 #define __CPPLUGINS__INTERFACE__H__
4 #include <cpPlugins/Config.h>
5 #include <cpPlugins/ProcessObject.h>
15 class cpPlugins_EXPORT Interface
18 typedef Interface Self;
20 typedef void* ( *TCreator )( );
21 typedef std::map< std::string, void* > TLibraries;
24 std::string PluginName;
28 typedef std::map< std::string, TCreatorData > TFilterData;
29 typedef std::map< std::string, TFilterData > TFilters;
30 typedef std::set< std::string > TStrings;
34 virtual ~Interface( );
36 const TStrings& GetPaths( ) const;
37 TStrings GetLibraries( ) const;
38 TStrings GetPlugins( ) const;
39 TStrings GetCategories( ) const;
40 TStrings GetFilters( const std::string& category ) const;
42 void AddEnvironments( const std::string& new_environment );
43 void LoadEnvironments( );
44 void SaveEnvironments( const std::string& dir ) const;
45 void OpenEnvironments( const std::string& dir );
47 void LoadFile( const std::string& fname );
48 void LoadPlugin( const std::string& pname );
49 void LoadDirectory( const std::string& dirname );
52 cpPlugins::ProcessObject::Pointer CreateProcessObject(
53 const std::string& category, const std::string& name
58 TLibraries m_Libraries;
65 #endif // __CPPLUGINS__INTERFACE__H__