[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Union forward declaration




	Oi, 

	De fato, a sintaxe está correta. Porém, ela só é definida na
versão 2.4 do CORBA. Acho que o JacORB implementa a versão 2.3.x. O Orbix
da Iona é um exemplo de ORB que implementa esta versão.

	Talvez seja possível, dependendo do que pretende, fazer de outra
forma, usando "valuetype".

	A interface seria assim:


valuetype ContemNome;

union Nome switch(long) {
 default:  ContemNome cn;
};

valuetype ContemNome {
  public Nome cn;
};


	Veja se isso pode ajudá-lo. 


	Infelizmente, não me lembro de nenhum endereço que explique o que
são os "value types" do CORBA. O livro CORBA 3... - está na bibliografia
da disciplina - diz o que são e para que servem. De forma simplista, como
o autor do livro resume, eles podem ser entendidos como "estruturas com
funcionalidade". Sim, é possível dar funcionalidade a um "value
type" além de atributos. No entanto, uma característica muito importante é
que ele é passado por valor, não é um objeto CORBA e só existirá no outro
lado de quem o enviou.

	Ah, quase esqueci: o JacORB não implementa "value types". :-( Já o
j2sdk 1.3.1, que é o que eu tenho, implementa. Não sei sobre o MICO.

	Falous.

	Jeferson.

> Caros lista ;-)
> Estou tentando fazer um forward declaration de um union no jacorb, olhei na
> especificacao de idl da omg e diz la (pelo que eu entendi) que isto deve ser
> feito assim:
> 
> union Nome; //forward
> 
> struct ContemNome {
>   Nome n;
> };
> 
> union Nome switch(long) {
>       default: ContemNome cn;
> };
> 
> 
> 1 - Entendi direito a especificacaum?  Eh assim mesmo que devo fazer?
> 2 - (se a resposta para 1 eh sim) O jacorb diz syntax error.  Sera que eh um
> bug do jacorb?
> 
> 
> 
> -- 
> There is no limit to what you can do
> if you don't care who gets the credit.
>  - Keynote
>