Legacy Issue Number: 3250
Source: IONA ( Mark Spruiell)
DynValue is missing support for null valuetypes. There is no
way to determine whether a DynValue represents a null valuetype,
nor is there any way to dynamically construct an Any containing
a null valuetype.
Add the following operations to the DynValue interface:
And replace the description of the interface with the following text:
The DynValue interface can represent both null and non-null
valuetypes. For a DynValue representing a non-null valuetype, the
DynValue's components comprise the public and private members of
the valuetype, including those inherited from concrete base valuetypes,
in the order of definition. A DynValue representing a null valuetype
has no components and a current position of -1.
The is_null operation returns TRUE if the DynValue represents
a null valuetype.
The set_to_null operation changes the representation of a DynValue
to a null valuetype. Specifically, the current components of the DynValue
are destroyed, component_count returns zero and the current position is
set to -1.
The set_to_value operation changes the representation of a DynValue
to a non-null valuetype. The state of the DynValue is initialized
exactly as if create_dyn_any_from_type_code had been invoked.
The set_to_value operation has no effect when invoked on a DynValue
representing a non-null valuetype.
The remaining operations of the DynValue interface have equivalent
semantics to DynStruct. When invoked on a DynValue representing a
null valuetype, get_members and get_members_as_dyn_any return an empty
Reported: CORBA 2.3.1 — Tue, 25 Jan 2000 05:00 GMT
Disposition: Duplicate or Merged — CORBA 2.4
Merge with 3135 and provide resolution as part of 3135
Updated: Sat, 7 Mar 2015 02:37 GMT