-#include <iostream>
-#include <cpPlugins/Interface.h>
-
-int main( int argc, char* argv[] )
-{
- if( argc < 2 )
- {
- std::cerr << "Usage: " << argv[ 0 ] << " plugins_library" << std::endl;
- return( 1 );
-
- } // fi
-
- // Load interface
- cpPlugins::Interface* interface = NULL;
- try
- {
- interface = new cpPlugins::Interface( );
- interface->LoadPluginFile( argv[ 1 ] );
- }
- catch( std::exception& err )
- {
- if( interface != NULL )
- delete interface;
- std::cerr
- << "Error caught: "
- << err.what( )
- << std::endl;
- return( 1 );
-
- } // yrt
-
- // Show loaded plugins
- auto plugins = interface->GetPlugins( );
- for( auto pIt = plugins.begin( ); pIt != plugins.end( ); ++pIt )
- std::cout << "Plugin: " << *pIt << std::endl;
- std::cout << std::endl;
-
- // Show loaded filters
- auto filters = interface->GetFilters( );
- for( auto cIt = filters.begin( ); cIt != filters.end( ); ++cIt )
- {
- std::cout << "Category: " << cIt->first << std::endl;
- for( auto nIt = cIt->second.begin( ); nIt != cIt->second.end( ); ++nIt )
- std::cout
- << "\tFilter: " << *nIt
- << std::endl;
-
- } // rof
-
- // Free all and finish
- delete interface;
- return( 0 );
-}
-
-// eof - $RCSfile$