#include <cstring>
#include <fstream>
#include <iostream>
+#include <sstream>
#include <string>
// -------------------------------------------------------------------------
std::size_t pos = fname.find_last_of( "." );
if( pos != std::string::npos )
fname = fname.substr( 0, pos );
-
+
return( fname );
}
} // fi
output_code << "#include <Pluma/Connector.hpp>" << std::endl;
+ output_code
+ << "#include <cpPlugins/Interface/ProcessObjectProvider.h>"
+ << std::endl;
+ for( int i = 3; i < argc; ++i )
+ output_code << "#include \"" << argv[ i ] << "\"" << std::endl;
+ output_code << std::endl;
+
+ std::istringstream nspaces( argv[ 2 ] );
+ std::string nspace;
+ unsigned int number_of_nspaces = 0;
+ while( std::getline( nspaces, nspace, ':' ) )
+ {
+ if( nspace != "" )
+ {
+ output_code << "namespace " << nspace << std::endl << "{" << std::endl;
+ number_of_nspaces++;
+
+ } // fi
+
+ } // elihw
+
for( int i = 3; i < argc; ++i )
- output_code << "#include <" << argv[ i ] << ">" << std::endl;
+ output_code
+ << "CPPLUGINS_INHERIT_PROVIDER( "
+ << GetFileName( argv[ i ] ) << " );" << std::endl;
+
+ for( unsigned int i = 0; i < number_of_nspaces; ++i )
+ output_code << "}" << std::endl;
+ output_code << std::endl;
+
+
output_code
- << std::endl
<< "PLUMA_CONNECTOR" << std::endl
<< "bool connect( pluma::Host& host )" << std::endl
- << "{" << std::endl
- << " using namespace " << argv[ 2 ] << ";" << std::endl;
+ << "{" << std::endl;
for( int i = 3; i < argc; ++i )
output_code
<< " host.add( new "
+ << argv[ 2 ] << "::"
<< GetFileName( argv[ i ] )
<< "Provider( ) );"
<< std::endl;
<< " return( true );" << std::endl
<< "}" << std::endl;
+ output_code << std::endl << "// eof - $RCSfile$" << std::endl << std::endl;
+
// Finish
output_code.close( );
return( 0 );