Previous Table of Contents Next


10.5.28 LocalInterfaceDef


   An LocalInterfaceDef object represents a local interface definition. It can contain constants, typedefs, exceptions, operations, and attributes. Its base interfaces can only contain InterfaceDefs or LocalInterfaceDefs.

   module CORBA { interfaceLocalInterfaceDef; typedef sequence <LocalInterfaceDef> LocalInterfaceDefSeq;

   interface LocalInterfaceDef : InterfaceDef { };

   };

   10.5.28.1 Read Interface

   The inherited base_interfaces attribute returns a list of interfaces, local or otherwise, from which this local interface inherits.

   Note – base_interfaces is of type InterfaceDefSeq, but since LocalInterfaceDef is derived from InterfaceDef, a list that consists of some regular InterfaceDefs and some LocalInterfaceDefs can legitimately be returned in an InterfaceDefSeq.

   The inherited is_a operation returns TRUE if the local interface on which it is invoked either is identical to or inherits, directly or indirectly, from the local interface identified by its interface_id parameter, or if the value of interface_id is IDL:omg.org/CORBA/LocalBase:1.0. Otherwise it returns FALSE.

   The inherited describe_interface operation returns a FullInterfaceDescription describing the local interface, including its operations and attributes.

   The inherited describe operation for a LocalInterfaceDef returns an InterfaceDescription.

   The inherited contents operation returns the list of constants, typedefs, and exceptions defined in this LocalInterfaceDef and the list of attributes and operations either defined or inherited in this LocalInterfaceDef. If the exclude_inherited parameter is set to TRUE, only attributes and operations defined within this local interface are returned. If the exclude_inherited parameter is set to FALSE, all attributes and operations are returned.

   10.5.28.2 Write Interface

   Setting the inherited base_interfaces attribute causes a BAD_PARAM exception with standard minor code 5 to be raised if the name attribute of any object contained by this LocalInterfaceDef conflicts with the name attribute of any object contained by any of the specified base InterfaceDefs (local or otherwise).

   The inherited create_attribute operation returns a new AttributeDef contained in the LocalInterfaceDef on which it is invoked. The id, name, version, type_def, and mode attributes are set as specified. The type attribute is also set. The defined_in attribute is initialized to identify the containing LocalInterfaceDef. A BAD_PARAM exception with standard minor code 2 is raised if an object with the specified id already exists in the Repository. BAD_PARAM exception with standard minor code 3 is raised if an object with the same name already exists in this LocalInterfaceDef.

   The inherited create_operation operation returns a new OperationDef contained in the LocalInterfaceDef on which it is invoked. The id, name, version, result_def, mode, params, exceptions, and contexts attributes are set as specified. The result attribute is also set. The defined_in attribute is initialized to identify the containing LocalInterfaceDef. A BAD_PARAM exception with standard minor code 2 is raised if an object with the specified id already exists in the Repository. BAD_PARAM exception with standard minor code 3 is raised if an object with the same name already exists in this LocalInterfaceDef.

   10.5.29 ExtLocalInterfaceDef

   An ExtLocalInterfaceDef object represents a local interface definition. It can contain constants, typedefs, exceptions, operations, and attributes with exceptions. Its base interfaces can only contain ExtInterfaceDefs or ExtLocalInterfaceDefs.

module CORBA {

interface ExtLocalInterfaceDef :

};

};

10.5.29.1 Read Interface

LocalInterfaceDef,
InterfaceAttrExtension {

   All operations and attributes inherited from LocalInterfaceDef behave the same as for LocalInterfaceDef. In particular, the def_kind attribute has the value dk_LocalInterface, exactly as in LocalInterfaceDef.

   The inherited describe_ext_interface operation returns the ExtFullInterfaceDescription structure that contains information about attributes with exceptions, in addition to the information found in FullInterfaceDescription.

   10.5.29.2 Write Interface

   All operations and attributes inherited from LocalInterfaceDef behave the same as for LocalInterfaceDef.

   The inherited create_ext_attribute operation returns a new ExtAttributeDef contained in the ExtLocalInterfaceDef on which it is invoked. The id, name, version, type_def, mode, get_exceptions and set_exceptions attributes are set as specified. The type attribute is also set. The defined_in attribute is initialized to identify the containing ExtLocalInterfaceDef. A BAD_PARAM exception with standard minor code 2 is raised if an object with the specified id already exists in the Repository. BAD_PARAM exception with standard minor code 3 is raised if an object with the same name already exists in this ExtLocalInterfaceDef.