[omniORB] Arrays in IDL and C++ mapping in OmniORB

Frederic Prin frederic.prin at silvaco.com
Tue Aug 3 16:31:40 BST 2004


Hello all,

While reading the Henning & Vinoski book I found a difference between
arrays and their mapping regarding the omniORB mapping.
In fact, H&V distinguishes the array of fixed-length element and the
array of variable-length (vl) element. 
The C++ mapping for servant side is not the same for the vl array.

Consider this IDL:

	typedef sequence<long> LongSeq;
	typedef double 	Darr[3];		// array with fixed
length element
	typedef  LongSeq 	Varr[3];		// array with
variable length element
	void darrOp( inout Darr darr_inout) ;
	void varrOp( inout Varr darr_inout) ;

OmniORB (impl and objref) mapping is:	
void darrOp(Darr darr_inout) 
H&R (impl and objref) mapping is:	
	void varrOp(Varr_slice * varr_inout) 


What happen, in OmniORB, if the Varr[0] sequence is reallocated in the
servant method implementation ?
Do OmniORB store only pointers to element in the array  ?
Who is right ?

Thanks

Fred


                             (
     Frédéric Prin          )
     Senior Software Engineer /
          S I L V A C O      (
     Grenoble REsearch CEnter \
     Tel 04 56 38 10 33        )
    __________________________/___
   /__/__/__/__/__/__/__/__/__/__/
  /__/__/__/__/__/__/__/__/_____/
 /__/__/__/__/__/__/__/__/__/__/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20040803/45edcb5d/attachment.htm


More information about the omniORB-list mailing list