![]() |
Overview The InterfaceDef object represents an interface definition in the Interface Repository. File name somir.idl Local-only True Ancestor interfaces Contained Interface Container Interface IDLType Interface Exceptions CORBA::SystemException Supported operations InterfaceDef::base_interfaces InterfaceDef::create_attribute InterfaceDef::create_operation InterfaceDef::describe InterfaceDef::describe_interface InterfaceDef::is_a
Intended Usage
The InterfaceDef object is used to represent an interface definition. An InterfaceDef object may be created in the Interface Repository database and an associated memory image of the object by calling the create_interface operation of the Container interface. The create_interface parameters include the unique RepositoryId (CORBA::RepositoryId), the name (CORBA::Identifier), the version (CORBA::VersionSpec), and a sequence indicating the base interfaces from which the interface inherits.
IDL syntax
module CORBA { interface InterfaceDef; typedef sequence InterfaceDefSeq; typedef sequence RepositoryIdSeq; typedef sequence OpDescriptionSeq; typedef sequence AttrDescriptionSeq; Interface InterfaceDef: Container, Contained, IDLType { //read/write interface attribute InterfaceDefSeqbase_interfaces; //read interface boolean is_a(in RepositoryId interface_id); struct FullInterfaceDescription { Identifier name; Repository Id id; RepositoryId defined_in; VersionSpec version; OpDescriptionSeq operations; AttrDescriptionSeq attributes; RepositoryIdSeq base_interfaces; TypeCode type; }; FullInterfaceDescription describe_interface(); // write interface AttributeDef create_attribute (in RepositoryId id, in Identifier name, in VersionSpec version, in IDLType type, in AttributeMode mode); OperationDef create_operation (in RepositoryId id, in Identifier name, in VersionSpec version, in IDLType result, in OperationMode mode, In ParDescriptionSeq params, In ExceptionDefSeq exceptions, in ContextIdSeq contexts); }; struct InterfaceDescription { Identifier name; RepositoryId id; RepositoryID defined_in; VersionSpec version; RepositoryId Seqbase_interfaces; };