[omniORB] Confusion with generated out parameters in omniidl

Duncan Grisby dgrisby@uk.research.att.com
Fri, 02 Feb 2001 14:45:50 +0000


On Friday 2 February, jnye@micro-optics.com wrote:

> But why does omniidl generate the template version instead of the _out? Is
> this a bug or did I specify some incorrect command line option?

The point is that they are the _same_ type, just with different names.
You can still implement your servant class using the _out type name,
and the compiler will be happy. It's just the same as if you did:

  typedef int MyType;

  class A {
    virtual void foo(int x) = 0;
  };

  class B : public virtual A {
    void foo(MyType x) { ... }
  };

The implementation of foo in class B is a valid override of the
abstract function in class A, even though it uses a different name for
the type.

Ignore the contents of the stub files and use the standard mapping
rules. It will work fine.

Cheers,

Duncan.

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