13.1.22 Generated Static Member Functions

This section describes in detail the generated static member functions: _duplicate, _narrow, and _nil for an interface INTF.

static INTF_ptr _duplicate (INTF_ptr Obj)
This static member function duplicates an existing INTF object reference and returns a new INTF object reference. The new INTF object reference must be released by calling the CORBA::release member function. If an error occurs, a reference to the nil INTF object is returned. The argument Obj specifies the object reference to be duplicated.
static INTF_ptr _narrow (CORBA::Object_ptr Obj)
This static member function returns a new INTF object reference given an existing CORBA::Object_ptr object reference. The Object_ptr object reference may have been created by a call to the CORBA::ORB::string_to_object member function or may have been returned as a parameter from an operation.
The INTF _ptr object reference must correspond to an INTF object or to an object that inherits from the INTF object. The new INTF object reference must be released by calling the CORBA::release member function. The argument Obj specifies the object reference to be narrowed to an INTF object reference. The Obj parameter is not modified by this member function and must be released by the user when it is no longer required. If Obj cannot be narrowed to an INTF object reference, the INTF nil object reference is returned.
static INTF_ptr _nil ( )
This static member function returns the new nil object reference for the INTF interface. The new reference does not have to be released by calling the CORBA::release member function.