]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - idlcomp/languages/c++/main.cc
xfer to loki
[polintos/scott/priv.git] / idlcomp / languages / c++ / main.cc
index ab4289c596e5c3dee5e3af14e35d0c00e6ef9d47..4368bca4d95bbddb9e56ced6a98dad3c490bfbcd 100644 (file)
@@ -52,7 +52,7 @@ dirname(dir)
                throw UserError();
        }
        
                throw UserError();
        }
        
-       file <<   "// " << *ns->get_fq_name()->flatten(".")
+       file <<   "// " << *ns->get_fq_name()->flatten()
             << "\n// This is a C++ language binding generated by idlc.\n"
             <<   "// Do not modify this file directly.\n\n";
 
             << "\n// This is a C++ language binding generated by idlc.\n"
             <<   "// Do not modify this file directly.\n\n";
 
@@ -640,12 +640,12 @@ void CPPFile::output(Struct *sym, int pass, void *arg2)
                                output_nsdecl_begin(sym);
                                output_nsdecl_children(sym);
                                output_guid(sym->def.guid);
                                output_nsdecl_begin(sym);
                                output_nsdecl_children(sym);
                                output_guid(sym->def.guid);
-                               output_marshall(sym, trav_nsdecl);
+                               output_marshall_pass(sym, trav_nsdecl);
                                output_nsdecl_end(sym);
                        } else {
                                output_nsdecl_begin(sym);
                                output_nsdecl_children(sym);
                                output_nsdecl_end(sym);
                        } else {
                                output_nsdecl_begin(sym);
                                output_nsdecl_children(sym);
-                               output_marshall(sym, trav_nsdecl);
+                               output_marshall_pass(sym, trav_nsdecl);
                                output_nsdecl_end(sym);
                        }
 
                                output_nsdecl_end(sym);
                        }
 
@@ -719,6 +719,8 @@ void CPPFile::output(Struct *sym, int pass, void *arg2)
                                if (sym->is_virtual())
                                        output_struct_ctor(sym, true);
                        }
                                if (sym->is_virtual())
                                        output_struct_ctor(sym, true);
                        }
+                       
+                       output_marshall_pass(sym, trav_full);
 
                        upscope();
                        file << indent << "};\n";
 
                        upscope();
                        file << indent << "};\n";
@@ -734,6 +736,10 @@ void CPPFile::output(Struct *sym, int pass, void *arg2)
 
                        break;
                }
 
                        break;
                }
+
+               case trav_marshall:
+                       output_marshall(sym, static_cast<Datum *>(arg2));
+                       break;
                
                default:
                        BUG();
                
                default:
                        BUG();
@@ -842,6 +848,10 @@ void CPPFile::output(Interface *sym, int pass, void *arg2)
                        }
        
                        break;
                        }
        
                        break;
+
+               case trav_marshall:
+                       output_marshall(sym, static_cast<Datum *>(arg2));
+                       break;
                
                default:
                        BUG();
                
                default:
                        BUG();
@@ -992,6 +1002,10 @@ void CPPFile::output(BitField *sym, int pass, void *arg2)
                        break;
                }
 
                        break;
                }
 
+               case trav_marshall:
+                       output_marshall(sym, static_cast<Datum *>(arg2));
+                       break;
+
                default:
                        BUG();
        }
                default:
                        BUG();
        }
@@ -1062,6 +1076,10 @@ void CPPFile::output(Enum *sym, int pass, void *arg2)
                        output_pass(sym, trav_forward);
                        break;
 
                        output_pass(sym, trav_forward);
                        break;
 
+               case trav_marshall:
+                       output_marshall(sym, static_cast<Datum *>(arg2));
+                       break;
+
                default:
                        BUG();
        }
                default:
                        BUG();
        }
@@ -1099,6 +1117,10 @@ void CPPFile::output(BasicType *sym, int pass, void *arg2)
                        output_pass(sym, trav_forward);
                        break;
 
                        output_pass(sym, trav_forward);
                        break;
 
+               case trav_marshall:
+                       output_marshall(sym, static_cast<Datum *>(arg2));
+                       break;
+
                default:
                        BUG();
        }
                default:
                        BUG();
        }