[Enterprise Extensions only]

UnionDef::discriminator_type_def

Overview The discriminator_type_def read and write operations allow access and update of the discriminator_type_def attribute of an Interface Repository UnionDef object.
Original interface UnionDef Interface
Exceptions CORBA::SystemException


Intended Usage

The discriminator_type_def attribute references an IDLType that is a type definition for the discriminator of a union. Both read and write operations are supported with parameters as defined above.

IDL Syntax

  attribute IDLType discriminator_type_def;

Read operations

Input parameters
None.
Return values
CORBA::IDLType_ptr

The returned value is a pointer to a copy of the IDLType that represents the discriminator_type_def attribute. The memory is owned by the caller and can be released by invoking CORBA::release.

Write operations

Input parameters
CORBA::IDLType_ptr discriminator_type_def

The discriminator_type_def must be of a subset of the simple types1 or an enumeration definition (EnumDef). Setting the discriminator_type_def also updates the discriminator_type attribute.

Return values
None.

Example

  // C++
     // assume that 'this_union' and 'pk_long_ptr' 
     // have already been initialized
     CORBA::UnionDef * this_union;
     CORBA::PrimitiveDef * pk_long_ptr;
 
     // set the discriminator_type_def to represent a CORBA::Long data type
     this_union-> discriminator_type_def (pk_long_ptr);
 
     // retrieve the discriminator_type_def information from the UnionDef 
     // object
     CORBA::IDLType * ret_idltype_ptr;
     ret_idltype_ptr = this_union-> discriminator_type_def ();