Synopsis - Cross-Reference
File: /tests/Parsers/IDL/input/CosLifeCycle.idl1#ifndef _COS_LIFE_CYCLE_IDL_ 2#define _COS_LIFE_CYCLE_IDL_ 3 4#include <CosNaming.idl> 5 6#pragma prefix "omg.org" 7 8module CosLifeCycle{ 9 10 typedef CosNaming::Name Key; 11 typedef Object _Factory; 12 typedef sequence <_Factory> Factories; 13 typedef struct NVP { 14 CosNaming::Istring name; 15 any value; 16 } NameValuePair; 17 typedef sequence <NameValuePair> Criteria; 18 19 exception NoFactory { 20 Key search_key; 21 }; 22 exception NotCopyable { string reason; }; 23 exception NotMovable { string reason; }; 24 exception NotRemovable { string reason; }; 25 exception InvalidCriteria{ Criteria invalid_criteria; }; 26 exception CannotMeetCriteria { Criteria unmet_criteria; }; 27 28 interface FactoryFinder { 29 Factories find_factories(in Key factory_key) 30 raises(NoFactory); 31 }; 32 33 interface LifeCycleObject { 34 LifeCycleObject copy(in FactoryFinder there, 35 in Criteria the_criteria) 36 raises(NoFactory, NotCopyable, InvalidCriteria, 37 CannotMeetCriteria); 38 void move(in FactoryFinder there, 39 in Criteria the_criteria) 40 raises(NoFactory, NotMovable, InvalidCriteria, 41 CannotMeetCriteria); 42 void remove() 43 raises(NotRemovable); 44 }; 45 46 interface GenericFactory { 47 boolean _supports(in Key k); 48 Object create_object( 49 in Key k, 50 in Criteria the_criteria) 51 raises (NoFactory, InvalidCriteria, 52 CannotMeetCriteria); 53 }; 54}; 55#endif /* ifndef _COS_LIFE_CYCLE_IDL_ */