void be_root::Generate (be_ClientHeader & source) { be_CppFwdDecl::GenerateAllWithinScope (source, be_CppEnclosingScope()); ostream& os = source.Stream (); TList<be_Type *>::iterator bit; TList<be_exception *>::iterator git; for (bit = fwdDecls.begin(); bit != fwdDecls.end(); bit++) { (*bit)->GenerateFwdDecls(source); } os << nl; GenerateGlobalTypes (source); GenerateGlobalDecls (source); g_generatorList.GenerateGlobal (source); if (BE_Globals::gen_externalization) { os << nl; for (bit = streamOps.begin(); bit != streamOps.end(); bit++) { (*bit)->GenerateStreamOps(source); } } os << nl; for (git = globalDecls.begin(); git != globalDecls.end(); git++) { (*git)->GenerateGlobalDecls (source); } os << nl; for (bit = typedefs.begin(); bit != typedefs.end(); bit++) { (*bit)->GenerateGlobalTypedef (source); } os << nl; if(BE_Globals::isocpp_test_methods) { //Generate file to stop missing file error DDS_StdString BaseFilename; BaseFilename = StripExtension(source.Filename()); BaseFilename += "_testmethod.h"; be_Source testsource; if(!testsource.Open(BaseFilename)) cerr << "Cannot open: " << BaseFilename << endl; testsource.Close(); //os << nl << "#ifndef " << Ifndefize(BE_Globals::ClientHeaderFilename + "DCPS"); os << nl << "#ifndef " << Ifndefize(StripExtension(FindFilename(source.Filename())) + "DCPS.h"); os << nl << "#ifndef " << Ifndefize(StripExtension(FindFilename(source.Filename())) + "_testmethod.h"); os << nl << "#define " << Ifndefize(StripExtension(FindFilename(source.Filename())) + "_testmethod.h"); os << nl << "#include \"" << StripExtension(FindFilename(source.Filename())) + "_testmethod.h" << "\""; os << nl << "#endif " << nl << "#endif" << nl; } if (BE_Globals::lite) { DDS_StdString BaseFilename; BaseFilename = StripExtension(source.Filename()); os << "\n#include \"" << BaseFilename << "-lite.h" << "\"" << nl; } os << nl << "#endif" << nl; source.Close(); }