Synopsis - Cross-Reference

File: /tests/Parsers/IDL/input/CosLifeCycle.idl
 1#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_ */