X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=include%2Fc%2B%2B%2Forb.h;h=1f1a3e6f6588586d69caec87fd0976ff6571c783;hp=484c1426473e4a88c67f3e6b57d72cef48886c9f;hb=b024710fe2b60cd4a42a8993b61333d6cdb56ca3;hpb=bc696ad9b0d5a2ad04e2de5ad8b89f746dd78491 diff --git a/include/c++/orb.h b/include/c++/orb.h index 484c142..1f1a3e6 100644 --- a/include/c++/orb.h +++ b/include/c++/orb.h @@ -337,8 +337,8 @@ namespace System { struct ParamInfoBlock { uint32_t buffer_size; uint32_t copy_size; - ID *objlist; - uint32_t objlist_len; + ID *objlist, *newobj; + uint32_t objlist_len, newobj_len; uint32_t num_segments; struct Segment { @@ -391,6 +391,12 @@ namespace System { int nsegs); ::System::_i_Object *(*wrapper)(ID id); }; + + struct NewObject { + uint32_t guid_hash[5]; // SHA-1 hash of Interface GUIDs + uint32_t id; + uint32_t reserved[3]; // must be zero + }; struct VStructInfo { // List of GUIDs of the struct and its superstructs, @@ -405,10 +411,11 @@ namespace System { int (*marshall)(GrowableArray &buf, GrowableArray &objlist, + GrowableArray &newobjlist, ParamInfoBlock::Segment *segs, int nsegs); void (*unmarshall)(Array buf, - Array objlist, + Array< ::System::_i_Object *> objlist, ParamInfoBlock::Segment *segs, int nsegs); };