[omniORB] Problem assigning an Any out parameter
amos at amos.mailshell.com
amos at amos.mailshell.com
Fri Jul 22 18:03:34 BST 2005
Hello,
With the previous question of serialization behind me,
I now try to send back the deserialized objects to clients
which ask for them.
Here is the IDL signature of the method which returns
the objects:
void get_next_operation(inout long latestOpId, out any operation)
raises (operationslog::NoMoreOperationsException);
And here is the function itself:
(data.get_data() and data.get_size() describe an array of
bytes holding the serialized objects).
void get_next_operation(CORBA::Long& latestOpId, CORBA::Any_out op)
{
//...
cdrMemoryStream stream(data.get_data(), data.get_size());
operationslog::Operation temp;
temp <<= stream;
op <<= temp;
}
The compiler complains about the "op <<= temp" line. It says
there is no match for this function call. I use "temp" in an
attempt to solve the problem.
Compiler is g++ 3.3.5 on Debian sarge. OmniORB version is 4.0.6.
I executed omniidl with the -Wba switch to turn on the extra
method creation.
I suppose I'm doing something wrong - but what?
Thanks,
--Amos
More information about the omniORB-list
mailing list