00001 #ifndef COS_TYPEDEVENTCHANNELADMIN_IDL 00002 #define COS_TYPEDEVENTCHANNELADMIN_IDL 00003 00004 #include <CosEventChannelAdmin.idl> 00005 #include <CosTypedEventComm.idl> 00006 00017 #pragma prefix "omg.org" 00018 00019 module CosTypedEventChannelAdmin 00020 { 00024 exception InterfaceNotSupported { }; 00025 00030 exception NoSuchImplementation { }; 00031 00035 typedef string Key; 00036 00040 interface TypedProxyPushConsumer : 00041 CosEventChannelAdmin::ProxyPushConsumer, 00042 CosTypedEventComm::TypedPushConsumer { }; 00043 00047 interface TypedProxyPullSupplier : 00048 CosEventChannelAdmin::ProxyPullSupplier, 00049 CosTypedEventComm::TypedPullSupplier { }; 00050 00054 interface TypedSupplierAdmin : 00055 CosEventChannelAdmin::SupplierAdmin 00056 { 00065 TypedProxyPushConsumer obtain_typed_push_consumer 00066 (in Key supported_interface) 00067 raises(InterfaceNotSupported); 00068 00077 CosEventChannelAdmin::ProxyPullConsumer obtain_typed_pull_consumer 00078 (in Key uses_interface) 00079 raises(NoSuchImplementation); 00080 }; 00081 00085 interface TypedConsumerAdmin : 00086 CosEventChannelAdmin::ConsumerAdmin 00087 { 00096 TypedProxyPullSupplier obtain_typed_pull_supplier 00097 (in Key supported_interface) 00098 raises (InterfaceNotSupported); 00099 00108 CosEventChannelAdmin::ProxyPushSupplier obtain_typed_push_supplier 00109 (in Key uses_interface) 00110 raises(NoSuchImplementation); 00111 }; 00112 00116 interface TypedEventChannel 00117 { 00123 TypedConsumerAdmin for_consumers (); 00124 00130 TypedSupplierAdmin for_suppliers (); 00131 00135 void destroy (); 00136 }; 00137 }; 00138 00139 #endif