9 #ifndef _MummyCsharpGenerator_h_
10 #define _MummyCsharpGenerator_h_
14 #include "gxsys/stl/map"
15 #include "gxsys/stl/string"
16 #include "gxsys/stl/vector"
34 virtual gxsys_stl::string
GetMethodArgumentArraySize(
const cable::Class *c,
const cable::Method *m,
const cable::FunctionType *ft,
unsigned int i);
35 virtual gxsys_stl::string
GetMethodSignature(
const cable::Class *c,
const cable::Method *m);
36 virtual const char *
GetArgName(cable::FunctionType *ftype,
unsigned int i);
38 virtual gxsys_stl::string
GetPInvokeTypeString(
const cable::Type *t,
bool forReturn,
bool isArray,
bool forDelegate);
39 virtual gxsys_stl::string
GetCSharpTypeString(
const cable::Type *t,
bool forReturn,
bool isArray);
53 virtual bool MethodIsWrappable(
const cable::Method* m,
const cable::Context::Access& access);
57 virtual bool IsFactoryMethod(
const cable::Class *c,
const cable::Method *m);
58 virtual bool IsDisposalMethod(
const cable::Class *c,
const cable::Method *m);
60 virtual gxsys_stl::string
GetExportLayerFunctionName(
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname);
61 virtual void EmitCSharpMethodDeclaration(gxsys_ios::ostream &os,
const cable::Class *c,
const cable::Method *m,
bool asProperty,
bool useArg0AsReturn,
const gxsys_stl::string& accessLevel);
62 virtual void EmitCSharpDllImportDeclaration(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname,
const char *f,
bool emitExceptionParams);
63 virtual void EmitCSharpProperty(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *propGetMethod,
const cable::Method *propSetMethod,
bool emitExceptionParams);
64 virtual void EmitCSharpMethodBody(gxsys_ios::ostream &os,
unsigned int indent,
const cable::Class *c,
const cable::Method *m, gxsys_stl::string& f,
const char *impliedArg0,
bool emitExceptionParams);
65 virtual void EmitCSharpMethod(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname,
const gxsys_stl::string& accessLevel,
bool emitExceptionParams);
66 virtual void EmitCSharpEvent(gxsys_ios::ostream& os,
const char *dllname,
const cable::Class* c,
const cable::Method* m,
const gxsys_stl::string& eventName);
67 virtual void EmitCSharpEnums(gxsys_ios::ostream &os,
const cable::Class *c);
68 virtual void EmitCSharpConstructor(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname,
bool emitExceptionParams);
69 virtual void EmitCSharpRegister(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname,
bool emitExceptionParams);
70 virtual void EmitCSharpDispose(gxsys_ios::ostream &os,
const char *dllname,
const cable::Class *c,
const cable::Method *m,
const gxsys_stl::string& mname,
const unsigned int eventCount,
bool emitExceptionParams);
73 const cable::Class *c,
74 gxsys_stl::vector<cable::Method*>& wrapped_methods,
75 cable::Method*& factoryM,
76 cable::Method*& disposalM,
77 cable::Method*& registerM,
78 cable::Method*& unRegisterM,
79 bool includeParentMethods
82 const cable::Class *c,
83 gxsys_stl::vector<cable::Method*>& wrapped_methods,
84 cable::Method*& factoryM,
85 cable::Method*& disposalM,
86 cable::Method*& registerM,
87 cable::Method*& unRegisterM
90 gxsys_stl::vector<cable::Method*>& wrapped_methods,
91 gxsys_stl::map<gxsys_stl::string, gxsys_stl::pair<cable::Method*, cable::Method*> >& wrapped_properties
104 gxsys_stl::map<const gxsys_stl::string, gxsys_stl::string>
HintsMap;