Re: marshalling of c structs



Robert Staudinger wrote:

Hello,

when wrapping a CORBA interface around a library written in c what would
be the preferred way to marshal structures between client and server?

I was thinking of two possible ways in a first iteration:
(1) defining the structures in IDL

yes, have a look at http://www.casa.in-berlin.de/tutorial/doc/orbit2-tutorial/t1.html


or (2) marshalling opaque buffers



Ok, for standards, like JPEG, GIF, ASN1-encodings, etc.

Both approaches are of course not sufficient when dealing with nested
structures.


nested types can be expressed quite fine with IDL.

-----------------------
module MyApp {
   struct MyData {
      string m1;
      string m2;
   };

   struct MyDataEx {
      MyData data;
      long       m3;
   };

   interface MyService {
      void my_method (in MyDataEx data);
   };
};

Could endian issues be a problem as well when going for (2)?



correct, endianess.

Regards, Frank

--
Frank Rehberger <Frank Rehberger web de>
The Twelve Networking Truths - http://www.faqs.org/rfcs/rfc1925.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]