/* -*- C++ -*- */ // $Id$ // ============================================================================ // // = LIBRARY // cos // // = FILENAME // CosLifeCycle.idl // // = DESCRIPTION // Described in CORBAservices: Common Object Services Specification, // chapter 6. // The life cycle service description can be downloaded from: // ftp://www.omg.org/pub/docs/formal/97-12-13.pdf // The original IDL file can be downloaded from: // ftp://www.omg.org/pub/docs/formal/97-11-02.idl // // = AUTHOR // OMG, Torben Worm , and Michael Kircher // // ============================================================================ #ifndef TAO_LIFECYCLE_IDL #define TAO_LIFECYCLE_IDL // OMG IDL for CosLifeCycle Module, page 6-10 in // Includes the following interfaces: // FactoryFinder, LifeCycleObject, GenericFactory #include "CosNaming.idl" #pragma prefix "omg.org" module CosLifeCycle { // = TITLE // CosLifeCycle // // = DESCRIPTION // This idl file describes the life cycle service. // The purpose of the life cycle service is to typedef CosNaming::Name Key; typedef Object Factory; typedef sequence Factories; typedef struct NVP { CosNaming::Istring name; any value; } NameValuePair; typedef sequence Criteria; exception NoFactory { Key search_key; }; exception NotCopyable { string reason; }; exception NotMovable { string reason; }; exception NotRemovable { string reason; }; exception InvalidCriteria { Criteria invalid_criteria; }; exception CannotMeetCriteria { Criteria unmet_criteria; }; interface FactoryFinder { // = TITLE // @@ Please fill in. // = DESCRIPTION // @@ Please fill in. Factories find_factories (in Key factory_key) raises (NoFactory); }; interface LifeCycleObject { // = TITLE // @@ Please fill in. // = DESCRIPTION // @@ Please fill in. LifeCycleObject copy (in FactoryFinder there, in Criteria the_criteria) raises (NoFactory, NotCopyable, InvalidCriteria, CannotMeetCriteria); void move (in FactoryFinder there, in Criteria the_criteria) raises (NoFactory, NotMovable, InvalidCriteria, CannotMeetCriteria); void remove () raises (NotRemovable); }; interface GenericFactory { // = TITLE // @@ Please fill in. // = DESCRIPTION // @@ Please fill in. boolean _supports (in Key k); Object create_object (in Key k, in Criteria the_criteria) raises (NoFactory, InvalidCriteria, CannotMeetCriteria); }; }; // Criteria, page 6-17: /* typedef struct NVP { CosNaming::Istring name; any value; } NameValuePair; typedef sequence Criteria; */ #endif /* TAO_LIFECYCLE_IDL */