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

Chris Newbold chris.newbold@laurelnetworks.com
Fri, 13 Oct 2000 16:43:43 -0400


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.