The CORBA interface provides the following commonly
used class operations. These are used like a C++ class reference (for example CORBA::is_nil(somePointer);).
- is_nil
- This operation returns a boolean that indicates if the input object reference
is nil. This is useful for many operations involving object references, including
those operations that do not throw exceptions when they fail - for example CORBA::Object::_narrow().
- release
- This operation releases resources associated with an object or pseudo-object
reference.This operation may or may not perform a C++ delete operation. A
reference count is used by this operation and CORBA::Object::_duplicate().
When the reference count reaches zero then the appropriate delete operations
are performed. Care must be taken when using the release and _duplicate operations
to ensure that objects are not leaked or inadvertently deleted. Alternatively
use the _var technique described for string_dup below.
- string_dup
- This operation copies a string. A common example of its use is when returning
a string from an operation. Strings and wide strings, unlike the other basic
CORBA types, have associated allocated memory. So care must be taken when
using these variables. The resulting string should subsequently be freed by
using the CORBA::string_free operation, or by assigning the string to
a _var variable which will free the string appropriately.