//============================================================================= /** * @file CosTypedEventChannelAdmin.idl * * @brief Part of the Event Service * See https://www.omg.org/spec/EVNT */ //============================================================================= #ifndef _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ #define _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ #include "CosEventChannelAdmin.idl" #include "CosTypedEventComm.idl" #pragma prefix "omg.org" module CosTypedEventChannelAdmin { exception InterfaceNotSupported {}; exception NoSuchImplementation {}; typedef string Key; interface TypedProxyPushConsumer : CosEventChannelAdmin::ProxyPushConsumer, CosTypedEventComm::TypedPushConsumer { }; interface TypedProxyPullSupplier : CosEventChannelAdmin::ProxyPullSupplier, CosTypedEventComm::TypedPullSupplier { }; interface TypedSupplierAdmin : CosEventChannelAdmin::SupplierAdmin { TypedProxyPushConsumer obtain_typed_push_consumer( in Key supported_interface) raises(InterfaceNotSupported); CosEventChannelAdmin::ProxyPullConsumer obtain_typed_pull_consumer ( in Key uses_interface) raises(NoSuchImplementation); }; interface TypedConsumerAdmin : CosEventChannelAdmin::ConsumerAdmin { TypedProxyPullSupplier obtain_typed_pull_supplier( in Key supported_interface) raises (InterfaceNotSupported); CosEventChannelAdmin::ProxyPushSupplier obtain_typed_push_supplier( in Key uses_interface) raises(NoSuchImplementation); }; interface TypedEventChannel { TypedConsumerAdmin for_consumers(); TypedSupplierAdmin for_suppliers(); void destroy (); }; }; #endif /* _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ */