#include #include #include // ------------------------------------------------------------------------- typedef cpPlugins::Interface::Plugins TPlugins; typedef TPlugins::TStringContainer TStringContainer; // ------------------------------------------------------------------------- int main( int argc, char* argv[] ) { if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " plugins_file(s)" << std::endl; return( 1 ); } // fi // Create interface cpPlugins::Interface::Plugins plugins; if( !plugins.LoadPluginsPath( argv[ 1 ] ) ) std::cerr << "Error loading plugins from folder \"" << argv[ 1 ] << "\"" << std::endl; const TStringContainer& loaded_plugins = plugins.GetLoadedPlugins( ); auto pIt = loaded_plugins.begin( ); for( ; pIt != loaded_plugins.end( ); ++pIt ) std::cout << "Plugin: " << *pIt << std::endl; TStringContainer categories; plugins.GetLoadedCategories( categories ); for( auto cIt = categories.begin( ); cIt != categories.end( ); ++cIt ) { std::cout << "Category: " << *cIt << std::endl; const TStringContainer& filters = plugins.GetLoadedFilters( *cIt ); for( auto fIt = filters.begin( ); fIt != filters.end( ); ++fIt ) std::cout << "\t" << *fIt << std::endl; } // rof return( 0 ); } // eof - $RCSfile$