Previous | Table of Contents | Next |
The base interface IRObject represents the most generic interface from which all other Interface Repository interfaces are
derived, even the Repository itself.
module CORBA {interface IRObject {
// read interfacereadonly attribute DefinitionKind def_kind;
// write interfacevoid destroy ();};};
10.5.2.1 Read Interface
The def_kind type_name attribute identifies the type of the definition.
10.5.2.2 Write Interface
The destroy operation causes the object to cease to exist. If the object is a Container, destroy is applied to all its contents.
If the object contains an IDLType attribute for an anonymous type, that IDLType is destroyed. If the object is currently contained
in some other object, it is removed. If destroy is invoked on a Repository or on a PrimitiveDef then the BAD_INV_ORDER exception
is raised with minor value 2. Implementations may vary in their handling of references to an object that is being destroyed,
but the Repository should not be left in an incoherent state. Attempt to destroy an object that would leave the repository
in an incoherent state shall cause BAD_INV_ORDER exception to be raised with the minor code 1.