[omniORB] DynAny and typecode aliases

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Mon, 11 Oct 1999 18:18:08 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0011_01BF1414.F80398F0
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi OmniORB developers,
    I just switched to 2.8 and it looks to me that DynAnys lose top =
level aliases when converted to any. A nice paragraph in the manual =
explains how top level aliases are not kicked out from an any now; =
however if I do define:

typedef sequence<octet> Block;

and then I create an any through a DynAny such as from (leaving out a =
few details):

CORBA::DynAny_var dyn =3D orb->create_dyn_sequence(_tc_Block)->to_any();

...  // then the DynAny components are filled in=20

CORBA::Any a =3D *dyn->to_any();


the resulting typecode for "a" is a sequence, not an alias. So original =
typecode and the final one are equivalent, not equal. (btw, this occured =
the same with 2.7.1.).
I'm concerned with this since I have a bridge for converting anys =
to/from streams and it would be nice to preserve typecode identities. =
Any trick there?
Also, what happens for embedded (e.g. not top-level) aliases ?
Thanks,
                                             Renzo Tomaselli     =20
-------------------------------------------------------------------------=
--
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana,  Trento TN  ITALY
Tel. +39 0461 773164      Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it  =20
-------------------------------------------------------------------------=
--

------=_NextPart_000_0011_01BF1414.F80398F0
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2014.210" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Hi OmniORB developers,</FONT></DIV>
<DIV><FONT size=3D2>&nbsp;&nbsp;&nbsp; I just switched to 2.8 and it =
looks to me=20
that DynAnys lose top level aliases when converted to any. A nice =
paragraph in=20
the manual explains how top level aliases are not kicked out from an any =
now;=20
however if I do define:</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>typedef sequence&lt;octet&gt; Block;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>and then I create an any through a DynAny such as =
from=20
(leaving out a few details):</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>CORBA::DynAny_var dyn =3D=20
orb-&gt;create_dyn_sequence(_tc_Block)-&gt;to_any();</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>...&nbsp; // then the DynAny components are filled =
in=20
</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>CORBA::Any a&nbsp;=3D =
*dyn-&gt;to_any();<BR></FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>the resulting typecode for "a" is a sequence, not an =
alias. So=20
original typecode and the final one are equivalent, not equal. (btw, =
this=20
occured the same with 2.7.1.).</FONT></DIV>
<DIV><FONT size=3D2>I'm concerned with this since I have a bridge for =
converting=20
anys to/from streams and it would be nice to preserve typecode =
identities. Any=20
trick there?</FONT></DIV>
<DIV><FONT size=3D2>Also, what happens for embedded (e.g. not top-level) =
aliases=20
?</FONT></DIV>
<DIV><FONT size=3D2>Thanks,</FONT></DIV>
<DIV><FONT=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Renzo Tomaselli&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
<BR>---------------------------------------------------------------------=
------<BR>TecnoTP=20
s.n.c. Special Information System Design<BR>Maso Pelauchi I38050 Ronchi=20
Valsugana,&nbsp; Trento TN&nbsp; ITALY<BR>Tel. +39 0461=20
773164&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fax. +39 0461 771514<BR>e-mail: <A=20
href=3D"mailto:renzo.tomaselli@tecnotp.it">renzo.tomaselli@tecnotp.it</A>=
&nbsp;&nbsp;=20
<BR>---------------------------------------------------------------------=
------</FONT></DIV></BODY></HTML>

------=_NextPart_000_0011_01BF1414.F80398F0--