Re: copying a structure
- From: Michael Meeks <michael ximian com>
- To: pvosta unionbio-eu com
- Cc: ORBit list <orbit-list gnome org>
- Subject: Re: copying a structure
- Date: 17 Jul 2003 10:17:16 +0100
Hi Peter,
On Wed, 2003-07-16 at 15:17, Peter Van Osta wrote:
> Is it possible to receive a structure by the client from the server ?
Of course.
> In the client I have declared some static structures of the same type as
> some which I get back form the server. However I cannot do &mystruct =
> get_struct_from_server( ... );
Right - although 'static' variables are mostly a menace.
> I have to declare a structure *pointstruct and then use pointstruct =
> get_struct_from_server( ... ); Afterwards I have to copy all the
> elements of the structure "pointstruct" to "mystruct" one by one. The
> next best thing would be to copy "pointstruct" intto "mystruct" in one
> command, but the structures contain strings, so that would need special
> CORBA-care ?
So - there are several approaches, here is a simple one:
static MyType *ptr= NULL;
CORBA_free (ptr);
ptr = MyMethod_getStruct (obj, ev);
if (ev->_major != CORBA_NO_EXCEPTION)
ptr = NULL;
Thus you don't bother with the copying action, but just use a static
pointer.
We have primitives inside the orb to do type informed deep structure
copying, but we don't expose any that don't allocate eg.
ORBit_copy_value, precisely because people get confused about ownership
/ lifecycle.
HTH,
Michael.
--
michael@ximian.com <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]