Overview | The describe_interface operation returns a CORBA::InterfaceDef::FullInterfaceDescription describing the interface (CORBA::InterfaceDef), including its operations and attributes. |
Original interface | CORBA::InterfaceDef |
Exceptions | CORBA::SystemException |
Intended Usage
The data fields of the CORBA::InterfaceDef::FullInterfaceDescription include: name (the interface name), id (the unique CORBA::RepositoryId that identifies the interface), defined_in (the unique CORBA::RepositoryId that identifies the defined_in attribute), version (the version number), operations (a sequence listing the operations for this interface), attributes (a sequence listing the attributes of this interface), base_interfaces (a sequence of CORBA::RepositoryIds that represent the base_interfaces attribute of the interface), and type (the CORBA::TypeCode representation of the interface).
Note: The CORBA specification contains amibiguities with relation to the describe_interface. This method returns the FullInterfaceDescription structure that contains the interface's attributes and operations. It does not state whether that includes or excludes the inherited attributes and operations. The IBM implementation excludes the inherited attributes and operations.
Syntax
struct FullInterfaceDescription { Identifier name; RepositoryId id; RepositoryId defined_in; VersionSpec version; OpDescriptionSeq operations; AttrDescriptionSeq attributes; RepositoryIdSeq base_interfaces; TypeCode type; }; FullInterfaceDescription describe_interface();
Input parameters
None.
Return values
Example
// C++ // assume that 'this_interface' has already been initialized CORBA::InterfaceDef * this_interface; // retrieve a full description of the interface CORBA::InterfaceDef::FullInterfaceDescription * returned_full_interface_description; returned_full_interface_description = this_interface-> describe_interface ();