[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Union forward declaration
- Subject: Re: Union forward declaration
- From: Jeferson Roberto Marques <PROTECTED>
- Date: Sun, 7 Apr 2002 17:26:50 -0300 (EST)
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
>