[omniORB] idl compile error
Sai-Lai Lo
S.Lo@orl.co.uk
02 Oct 1998 14:34:27 +0100
>>>>> Seong-Gu Kim writes:
> interface MobilityAgent {
> ...
> BIBStatus refreshFlowBundle(in long fbi,
> inout EndPointList host_A[2],
> inout EndPointList host_B[2],
> inout double msr_time) raises (Reject);
> ...
> };
> #endif
> Here I am using array (host_A[2],host_B[2]), but it makes the error. I tried
> to put in module for #include files. But it didn't work.
> In EndPoint.idl, there are also arrays, which are in structures, but it is
> fine.
> Please teach me what is wrong.
Since CORBA specification 2.0, it is invalid to have array declarator in
the operation parameter list. Any IDL compiler which still accepts such a
construct is non-compliant. I leave it to you to verify this with the BNF
rules of OMG IDL.
Try this:
typedef EndPointList EndPointListTuple[2];
BIBStatus refreshFlowBundle(in long fbi,
inout EndPointListTuple host_A,
inout EndPointListTuple host_B,
inout double msr_time) raises (Reject);
Sai-Lai
--
Dr. Sai-Lai Lo | Research Scientist
|
E-mail: S.Lo@orl.co.uk | Olivetti & Oracle Research Lab
| 24a Trumpington Street
Tel: +44 223 343000 | Cambridge CB2 1QA
Fax: +44 223 313542 | ENGLAND