X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=idlcomp%2Flanguages%2Fc%2B%2B%2Fc%2B%2B.h;h=ba7e769277b75ae91fe2ae1a4f56ca79df98d4f7;hp=214f2cdb1828abec115a2337607b15b628238bbe;hb=b024710fe2b60cd4a42a8993b61333d6cdb56ca3;hpb=5adc890ffae4f90536e72bc32ef83e1141689520 diff --git a/idlcomp/languages/c++/c++.h b/idlcomp/languages/c++/c++.h index 214f2cd..ba7e769 100644 --- a/idlcomp/languages/c++/c++.h +++ b/idlcomp/languages/c++/c++.h @@ -54,6 +54,10 @@ class CPPFile : public LangCallback { // The implementation is delayed to avoid circular dependency problems. void output_casts(Interface *sym); + + //// Marshalling methods + + void output_marshall(Struct *sym, int pass); // Output the downcast and implicit upcast methods for // the given interface/superinterface pair. @@ -82,8 +86,6 @@ class CPPFile : public LangCallback { bool prototype, bool retval); void output_one_method_ptr(Method *m, Interface *iface); - static void output_iface_ns(CPPFile *file, NameSpace *sym); - //// Misc members: // Output the static const guid[] value, and the IFaceInfo struct. @@ -96,7 +98,6 @@ class CPPFile : public LangCallback { int output_datum(Struct *ns, Datum *d, int offset); - static void output_vstruct_ns(CPPFile *file, NameSpace *sym); void output_vstruct_info(Struct *sym); void output_vstruct_main(Struct *sym); void output_struct_ctor(Struct *sym, bool extra_vstruct); @@ -142,8 +143,10 @@ class CPPFile : public LangCallback { // namespace, before any namespace members have been // emitted. - typedef void (*nsdecl_callback)(CPPFile *file, NameSpace *ns); - void output_nsdecl(NameSpace *ns, nsdecl_callback cb = NULL); + void output_nsdecl_begin(NameSpace *ns); + void output_nsdecl_children(NameSpace *ns); + void output_nsdecl_end(NameSpace *ns); + void output_nsdecl(NameSpace *ns); void output_aliases_and_types(NameSpace *ns);