Legacy Issue Number: 2432
Summary: The text in the interface repository specification that describes FullInterfaceDescription is ambiguous. CORBA v2.3a draft, section 10.5.23.1, page 10-22 reads:
The describe_interface operation returns a FullInterfaceDescription
describing the interface, including its operations and attributes. The
inherited describe operation for an InterfaceDef returns an
It does not specify whether the elements of the FullInterfaceDescription should describe only items (e.g., operations, attributes) that where defined in the interface being described, or whether they should describe items inherited from base interfaces as well. My naive, assumed rationale is that the full description is intended to improve efficiency. It should allow a dynamic client to obtain all of the information it needs to invoke any operation supported by the interface in a single request, avoiding the need to traverse the graph of base interfaces. If this is the case, then the full description should include inherited items as well, and the spec should say so. I checked our implementation (VisiBroker) and this is what it does.
My suggested remedy is to add the following words to the paragraph cited above:
"The operations and attributes fields of the FullInterfaceDescription structure include descriptions of all of the operations and attributes in the transitive closure of the inheritance graph of the interface being described."
The bug (I think) is that the FullInterfaceDescription description doesn"t include the boolean is_abstract member. The abbreviated InterfaceDescription struct has been extended with this member, and the FullInterfaceDescription should be a superset of the InterfaceDescription.
The suggested fix is to add the the following member to the InterfaceDef::FullInterfaceDescription struct:
Reported: CORBA 2.2 — Tue, 2 Feb 1999 05:00 GMT
Disposition: Resolved — CORBA 2.3
Incorporate changes in 2.4 and close issue
Updated: Fri, 6 Mar 2015 20:58 GMT