<< indent << " int nsegs);\n\n";
#endif
- file << indent << "static const __attribute__((unused))\n"
+ file << indent << "__attribute__((weak)) __attribute__((unused))\n"
<< indent << "::System::RunTime::IFaceInfo _info = {\n"
<< indent << "\t&_guid,\n"
<< indent << "};\n";
do_extra_newline = true;
}
-void CPPFile::output_marshall(Struct *sym)
+void CPPFile::output_marshall(Struct *sym, int pass)
{
- file << indent;
-
+ switch (pass) {
+ case trav_nsdecl:
+ extra_newline();
+
+ file << indent << "int _marshall(::System::RunTime::GrowableArray<uint8_t> &buf,\n"
+ << indent << " ::System::RunTime::GrowableArray< ::System::RunTime::ID> &objlist,\n"
+ << indent << " ::System::RunTime::GrowableArray< ::System::RunTime::NewObject> &newobjlist,\n"
+ << indent << " ::System::RunTime::ParamInfoBlock::Segment *segs,\n"
+ << indent << " int nsegs);\n";
+
+ file << indent << "void _unmarshall(::System::RunTime::Array<uint8_t> buf,\n"
+ << indent << " ::System::RunTime::Array< ::System::_i_Object *> objlist,\n"
+ << indent << " ::System::RunTime::ParamInfoBlock::Segment *segs,\n"
+ << indent << " int nsegs);\n";
+
+ do_extra_newline = true;
+ break;
+ }
}