#include #include #include #include int main( int argc, char* argv[] ) { // Manage inputs if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " workspace [parameters]" << std::endl; return( 1 ); } // fi // Create interface and load library cpPlugins::Interface::Plugins::Pointer interface = cpPlugins::Interface::Plugins::New( ); try { interface->GuessEnvironment( "." ); interface->GuessPlugins( ); } catch( std::exception& err ) { std::cerr << "Error caught: " << err.what( ) << std::endl; return( 1 ); } // yrt // Workspace cpPlugins::Interface::Workspace::Pointer workspace = cpPlugins::Interface::Workspace::New( ); try { workspace->Load( argv[ 1 ] ); } catch( std::exception& err ) { std::cerr << "Error loading workspace \"" << argv[ 1 ] << "\": " << err.what( ) << std::endl; return( 1 ); } // yrt // Read parameters for( int i = 2; i < argc; ++i ) { std::vector< std::string > tokens; cpPlugins::Tokenize( tokens, argv[ i ], "@=" ); if( tokens.size( ) == 3 ) { auto filter = workspace->GetFilter( tokens[ 1 ] ); if( filter != NULL ) { auto params = filter->GetParameters( ); params->SetString( tokens[ 0 ], tokens[ 2 ], true ); } // fi } // fi } // rof // Execute filter workspace->PrintExecutionOn( ); try { workspace->Update( ); } catch( std::exception& err ) { std::cerr << std::endl << "********************************" << std::endl; std::cerr << "Error caught: " << err.what( ) << std::endl; std::cerr << "********************************" << std::endl; return( 1 ); } // yrt return( 0 ); } // eof - $RCSfile$