-
Key: CORBA23-243
-
Legacy Issue Number: 1685
-
Status: closed
-
Source: Anonymous
-
Summary:
Summary: For valuetypes that inherit from concrete valuetypes, the
ORB::create_value_tc operation is insufficient. In particular, it does not
allow the TypeCode for the base valuetype to be supplied. This means that
if a valuetype with a concrete base valuetype is passed in an Any to a
process that has no compile-time information concerning that valuetype, the
receiving process will be unable to marshal it. Having the RepositoryId of
the concrete base in the TypeCode does not solve the problem because the
two processes might not have an Interface Repository (IFR) in common, or
the concrete base RepositoryId may not be in the IFR known to the receiving
process. Also, never in CORBA should unmarshaling require lookups in the
IFR (this in fact should be an absolute ORB Core rule).Proposal: change create_value_tc to
TypeCode create_value_tc(
in RepositoryId id,
in Identifier name,
in boolean is_custom,
in TypeCode concrete_base,
in ValueMembersSeq members
);If the valuetype has no concrete valuetype base, the concrete_base argument
shall be a nil TypeCode reference. -
Reported: CORBA 2.2 — Wed, 15 Jul 1998 04:00 GMT
-
Disposition: Resolved — CORBA 2.3
-
Disposition Summary:
:create_value_tc operation is insufficient. In particular, it does not
-
Updated: Sun, 8 Mar 2015 21:52 GMT