[omniORB] in/out string arguments have wrong signature in tie

Chris Newbold cnewbold@laurelnetworks.com
Tue, 17 Oct 2000 07:21:15 -0400


[I sent this originally on Friday, but I never saw it appear in
the digest; apologies if it is a repeat.]

Consider the following IDL:

module foo {

    interface bar {

void op1(inout string stuff);

    };

};

When compiled with the 3.0.2 (or 3.0.0) IDL compiler, an
object reference class is generated with the following
signature for op1:

void op1(CORBA::String_INOUT_arg stuff);

And the implementation base has the following signature:

virtual void op1(char*& stuff) = 0;

However, the generated POA tie class for bar (which derives
from the implementation base) uses the object reference
signature:

void op1(CORBA::String_INOUT_arg stuff);

The resulting code does not compile, since the pure virtual
in the implementation base was never defined.

-Chris Newbold
Laurel Networks, Inc.