21 #include "cableClass.h"
22 #include "cableClassType.h"
23 #include "cableContext.h"
24 #include "cableMethod.h"
25 #include "cableNamespace.h"
26 #include "cableSourceRepresentation.h"
27 #include "cableTypedef.h"
28 #include "cableVariable.h"
29 #include "cableXMLSourceParser.h"
30 #include "cxxFundamentalType.h"
32 #include "gxsys/ios/fstream"
33 #include "gxsys/ios/iostream"
34 #include "gxsys/ios/sstream"
35 #include "gxsys/stl/map"
36 #include "gxsys/stl/set"
37 #include "gxsys/stl/string"
97 if (!inFileName || (0 == strlen(inFileName)))
106 gxsys_ios::ifstream inFile(inFileName, std::ios_base::in|std::ios_base::binary);
114 cable::XMLSourceParser::Pointer parser = cable::XMLSourceParser::New();
115 parser->SetStream(&inFile);
121 parser->SetStream(0);
125 return parser->GetSourceRepresentation();
141 const cable::Namespace* gns = sr->GetGlobalNamespace();
146 cable::Context::Iterator lower = gns->LowerBound(
"_cable_");
147 cable::Context::Iterator upper = gns->UpperBound(
"_cable_");
148 cable::Namespace* cns = 0;
151 cns = cable::Namespace::SafeDownCast(*lower);
166 gxsys_stl::map<const cable::Class*, cable::Typedef*> TypedefLookup;
167 gxsys_stl::set<const cable::Class*> ClassesToBeIncluded;
169 const cable::Namespace* wns = 0;
170 cable::Context::Iterator wlower = cns->LowerBound(
"wrappers");
171 cable::Context::Iterator wupper = cns->UpperBound(
"wrappers");
172 if (wlower != wupper)
174 wns = cable::Namespace::SafeDownCast(*wlower);
182 for (cable::Context::Iterator w = wns->Begin(); w != wns->End(); ++w)
184 cable::Typedef* td = cable::Typedef::SafeDownCast(*w);
187 const cable::ClassType* ct = cable::ClassType::SafeDownCast(td->GetType());
190 const cable::Class* c = ct->GetClass();
191 TypedefLookup.insert(gxsys_stl::make_pair(c, td));
192 ClassesToBeIncluded.insert(c);
199 for (gxsys_stl::set<const cable::Class*>::iterator i =
200 ClassesToBeIncluded.begin(); !err && i != ClassesToBeIncluded.end(); ++i)
202 const cable::Class* c = *i;
237 gxsys_ios::ostringstream ossCS;
239 csg.SetSourceRepresentation(sr);
240 csg.SetStream(&ossCS);
245 gxsys_ios::ostringstream ossEL;
248 cselg.SetSourceRepresentation(sr);
249 cselg.SetStream(&ossEL);
258 csslg.SetSourceRepresentation(sr);
259 csslg.SetStream(&ossEL);
265 gxsys_ios::ostringstream ossUT;
268 csutg.SetSourceRepresentation(sr);
269 csutg.SetStream(&ossUT);