CORBA IDL in C ++ - char vs. unsigned char?

We use OmniORB with our C ++ server. Currently, when an object is specified as charin an IDL file, it is converted to unsigned charin C ++. We want it to be simple char. Is there anything we can change to make this happen?

+3
source share
2 answers

An implementation is defined ( page 15 in the specification ) that the IDL types are boolean, charand octetmatch.

omniORB selects :

...
typedef unsigned char _CORBA_Char;
typedef unsigned char _CORBA_Octet; 
...

You can change omniORB sources, although I doubt it would be a good idea. Or you can accept that the CORBA::CharC ++ type does not represent char.

+3
source

CORBA::Char , CORBA .

/ 'char' 'unsigned char', static_cast .

+1

All Articles