9 #ifndef MummyUtilities_h
10 #define MummyUtilities_h
15 #pragma warning(disable:4127)
20 #include "cableContext.h"
21 #include "cxxFundamentalType.h"
23 #include "gxsys/ios/iosfwd"
24 #include "gxsys/stl/string"
34 void Trace(
const char *s);
35 void Emit(gxsys_ios::ostream &os,
const char *s);
36 void EmitInt(gxsys_ios::ostream &os,
const int i);
37 void EmitUint(gxsys_ios::ostream &os,
const unsigned int i);
38 void EmitIndent(gxsys_ios::ostream &os,
const unsigned int n = 1);
39 void EmitFile(gxsys_ios::ostream &os,
const char *filename);
40 void WriteToFile(
const char *filename,
const char *s);
41 bool IsChar(
const cable::Type *t);
42 bool IsFundamental(
const cable::Type *t, cxx::FundamentalType::Id tid);
44 bool IsVoid(
const cable::Type *t);
57 bool ClassIsA(
const cable::Class *c,
const gxsys_stl::string& parent);
65 bool HasAttribute(
const cable::SourceObject *o,
const char *attr);
67 gxsys_stl::string
ExtractAttribute(
const gxsys_stl::string& atts,
const gxsys_stl::string& attBase);
68 gxsys_stl::string
ExtractAttribute(
const cable::SourceObject *o,
const gxsys_stl::string& attBase);
78 void LogMsg(
const gxsys_stl::string& file,
const unsigned long line,
const gxsys_stl::string& label,
const int n);
86 bool BlockContains(
const gxsys_stl::vector<gxsys_stl::string>& block,
const char *value);
89 void EmitDocumentationBlock(gxsys_ios::ostream &os,
const gxsys_stl::vector<gxsys_stl::string>& block,
const unsigned int indent,
bool isClassDoc =
false);
90 gxsys_stl::string
ExtractDerivedName(
const char *s,
const cable::Named *n,
bool verbose);
void LogMsg(const gxsys_stl::string &file, const unsigned long line, const gxsys_stl::string &label, const int n)
bool IsVoid(const cable::Type *t)
const cable::Class * GetParentClass(const cable::Class *c)
bool IsCharPointer(const cable::Type *t)
bool ClassIsA(const cable::Class *c, const gxsys_stl::string &parent)
bool IsUtilityClass(const cable::Class *c)
bool HasMapToType(const cable::Type *t)
gxsys_stl::string ExtractAttribute(const gxsys_stl::string &atts, const gxsys_stl::string &attBase)
gxsys_stl::string ExtractArraySize(const gxsys_stl::string &atts)
gxsys_stl::string GetFullyQualifiedNameForCSharp(const cable::Named *n)
gxsys_stl::string GetStringMethod(const cable::Type *t)
bool ValidateBaseClasses(const cable::Class *c)
gxsys_stl::string GetFullyQualifiedCPlusPlusTypeIdName(const cable::Named *n)
gxsys_stl::string GetCPlusPlusZeroInitializerExpression(const cable::Type *t)
bool IsFundamentalPointerPointer(const cable::Type *t, cxx::FundamentalType::Id tid)
void WriteToFile(const char *filename, const char *s)
void EmitInt(gxsys_ios::ostream &os, const int i)
gxsys_stl::string GetFullyQualifiedNameForCPlusPlus(const cable::Named *n)
void EmitDocumentationBlock(gxsys_ios::ostream &os, const gxsys_stl::vector< gxsys_stl::string > &block, const unsigned int indent, bool isClassDoc=false)
bool IsObject(const cable::Type *t)
bool IsCharPointerPointer(const cable::Type *t)
bool IsChar(const cable::Type *t)
gxsys_stl::string GetSimpleName(const cable::Named *n)
bool IsObjectPointer(const cable::Type *t)
void EmitUint(gxsys_ios::ostream &os, const unsigned int i)
bool HasAttribute(const cable::SourceObject *o, const char *attr)
const cable::Constructor * FindNonAbstractPublicDefaultConstructor(const cable::Class *c)
bool IsVoidPointer(const cable::Type *t)
gxsys_stl::string ExtractMapToType(const cable::SourceObject *o)
gxsys_stl::string GetMapToType(const cable::Type *t)
gxsys_stl::string ExtractImplementsInterface(const gxsys_stl::string &atts)
bool IsObjectPointerReference(const cable::Type *t)
void EmitIndent(gxsys_ios::ostream &os, const unsigned int n=1)
void SuppressMsg(const int n)
bool ShouldEmitComment(const char *comment)
gxsys_stl::string ExtractDerivedName(const char *s, const cable::Named *n, bool verbose)
gxsys_stl::string GetCsharpZeroInitializerExpression(const cable::Type *t)
bool IsFundamentalPointer(const cable::Type *t, cxx::FundamentalType::Id tid)
bool ShouldLogMsg(const int n)
bool EquivalentTypedefNameExists(const cable::Class *c, const cable::FunctionType *target, gxsys_stl::string &s)
gxsys_stl::string ExtractStringMethod(const cable::SourceObject *o)
gxsys_stl::string EncodeStringForXml(const char *s)
int GetMostRecentErrorValue()
bool BlockContains(const gxsys_stl::vector< gxsys_stl::string > &block, const char *value)
const char * GetAccessString(cable::Context::Access access)
gxsys_stl::string GetMappedTypeName(const cable::Class *c, bool fullyQualified)
void EmitFile(gxsys_ios::ostream &os, const char *filename)
gxsys_stl::string GetWrappedClassName(const cable::Class *c)
bool IsFundamental(const cable::Type *t, cxx::FundamentalType::Id tid)
gxsys_stl::string GetFullyQualifiedName(const cable::Named *n, const char *sep)
void Trace(const char *s)
void Emit(gxsys_ios::ostream &os, const char *s)
int GetNthErrorValue(int n)
gxsys_stl::string GetWrappedClassNameFullyQualified(const cable::Class *c)