Reputation: 10663
We're using OmniORB with our C++ server. Currently, when an object is specified as a char
in the IDL file, it is translated to an unsigned char
in C++. We want it to be just char
. Is there something we can change to make this happen?
Upvotes: 3
Views: 1015
Reputation: 206637
I would recommend using CORBA::Char
when calling functions that are direct CORBA calls and assigning return values of such functions.
If you need to convert them to/from 'char' or 'unsigned char', a static_cast
should do the job.
Upvotes: 1
Reputation: 38795
It is implementation defined (page 15 in the spec) what the IDL types boolean
, char
and octet
map to.
...
typedef unsigned char _CORBA_Char;
typedef unsigned char _CORBA_Octet;
...
You can change the omniORB sources, though I doubt that would be a good idea. Or you can accept that CORBA::Char
does not represent the C++ char
type.
Upvotes: 3