Previous | Table of Contents | Next |
Several interfaces are used as base interfaces for objects in the IR. These base interfaces are not instantiable.
A common set of operations is used to locate objects within the Interface Repository. These operations are defined in the
interfaces IRObject, Container, and Contained described below. All IR objects inherit from the IRObject interface, which provides
an operation for identifying the actual type of the object. Objects that are containers inherit navigation operations from
the Container interface. Objects that are contained by other objects inherit navigation operations from the Contained interface.
The IDLType interface is inherited by all IR objects that represent IDL types, including interfaces, typedefs, and anonymous
types. The TypedefDef interface is inherited by all named non-interface types.
The base interfaces IRObject, Contained, Container, IDLType, TypedefDef ComponentIR::Container and ComponentIR::EventPortDef
are not instantiable.
All string data in the Interface Repository are encoded as defined by the ISO 8859-1 coded character set.
Interface Repository operations indicate error conditions using the system exceptions BAD_PARAM and BAD_INV_ORDER with specific
minor codes. The specific operations that raise these exceptions are documented in the description of the operations. For
a description of how these minor codes are encoded in the ex_body of
standard exceptions see Section 4.12.2, “System Exceptions,? on page 4-64 and
Section 4.12.4, “Standard Minor Exception Codes,? on page 4-73. The exceptions and
minor codes that are used by Interface Repository interfaces are as follows:
Table 10-1 Standard Exceptions used by the Interface Repository Operations
ExceptionBAD_PARAM |
Minor Code |
Explanation |
|||
2 | RID is already defined in IFR | ||||
3 | Name already used in the context in IFR | ||||
4 | Target is not a valid container | ||||
5 | Name clash in inherited context |
Table 10-1 Standard Exceptions used by the Interface Repository Operations
ExceptionBAD_PARAMBAD_INV_ORDER |
Minor Code |
Explanation |
|||
31 | Attempt to define a oneway operation with non-void result, out or inout parameters or user exceptions. | ||||
1 | Dependency exists in IFR preventing destruction of this object | ||||
2 | Attempt to destroy indestructible objects in IFR |