]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - include/c++/orb.h
Some weak symbol usage, and some marshalling stuff.
[polintos/scott/priv.git] / include / c++ / orb.h
index a20f44d8aebc6be9f994f5c813b20fbe5cdec05e..1f1a3e6f6588586d69caec87fd0976ff6571c783 100644 (file)
@@ -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<uint8_t> &buf,
                                        GrowableArray<ID> &objlist,
+                                       GrowableArray<NewObject> &newobjlist,
                                        ParamInfoBlock::Segment *segs,
                                        int nsegs);
                        void (*unmarshall)(Array<uint8_t> buf,
-                                          Array<ID> objlist,
+                                          Array< ::System::_i_Object *> objlist,
                                           ParamInfoBlock::Segment *segs,
                                           int nsegs);
                };