[omniORB] invocation of a method fails.

Duncan Grisby dgrisby@uk.research.att.com
Wed, 27 Jun 2001 11:26:28 +0100


On Wednesday 27 June, "Rajshekhar Kishtaiah Chintapalli" wrote:

> interface Server
> {
> 	unsigned long GetClient(in unsigned long i,out Client cli);
> };
> 
> On compiling this idl i get the out put as
> 	virtual CORBA::ULong GetClient(CORBA::ULong i, _CORBA_ObjRef_OUT_arg<
> _objref_Client, Client_Helper > cli) = 0;
> While i was expecting
> 	virtual CORBA::ULong GetClient(CORBA::ULong i,Client_out cli) = 0;
> And so the confusion.
> 
> After going through the .hh files that get generated, found that
> (_CORBA_ObjRef_OUT_arg< _objref_Client, Client_Helper >) has been
> typedefined to  Client_out.

This is precisely why, as Stefan said, you should not look at the stub
code, but use a reference to the C++ mapping. In many cases, the stub
code does things which confuse the issue.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --