5.2.3.3 Tobj Module OMG IDL

The following code snippet shows the Tobj Module OMG IDL.

// ----- Tobj.idl -----
module Tobj {
        // Constants
        const string FACTORY_KIND = "FactoryInterface";
        // Exceptions
        exception CannotProceed {};
        exception InvalidDomain {};
        exception InvalidName {};
        exception RegistrarNotAvailable {};
        // Extension to LifeCycle Service
        struct FactoryComponent {
                CosLifeCycle::Key factory_key;
                CosLifeCycle::Factory factory_ior;
        };
        typedef sequence < FactoryComponent > FactoryListing;
        interface FactoryFinder: CosLifeCycle::FactoryFinder {
                CosLifeCycle::Factory find_one_factory(in CosLifeCycle::Key factory_key)
                raises(CosLifeCycle::NoFactory,
                        CannotProceed,
                        RegistrarNotAvailable);
                CosLifeCycle::Factory find_one_factory_by_id(in string factory_id)
                raises(CosLifeCycle::NoFactory,
                        CannotProceed,
                        RegistrarNotAvailable);
                CosLifeCycle::Factories find_factories_by_id(in string factory_id)
                raises(CosLifeCycle::NoFactory,
                        CannotProceed,
                        RegistrarNotAvailable);
                FactoryListing list_factories()
                raises(CannotProceed,
                        RegistrarNotAvailable);
        };
};