Previous Table of Contents Next


10.5.2 IRObject


   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.