diff options
Diffstat (limited to 'lib/cosEvent/src/CosEventChannelAdmin.idl')
-rw-r--r-- | lib/cosEvent/src/CosEventChannelAdmin.idl | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/cosEvent/src/CosEventChannelAdmin.idl b/lib/cosEvent/src/CosEventChannelAdmin.idl new file mode 100644 index 0000000000..d5cb92c4e0 --- /dev/null +++ b/lib/cosEvent/src/CosEventChannelAdmin.idl @@ -0,0 +1,66 @@ +#ifndef _COSEVENTCHANELADMIN_IDL +#define _COSEVENTCHANELADMIN_IDL + +#include "CosEventComm.idl" + +#pragma prefix "omg.org" + +module CosEventChannelAdmin +{ + exception AlreadyConnected{}; + exception TypeError{}; + + interface ProxyPushConsumer: CosEventComm::PushConsumer + { + void connect_push_supplier(in CosEventComm:: + PushSupplier push_supplier) + raises (AlreadyConnected); + }; + + interface ProxyPullSupplier: CosEventComm::PullSupplier + { + void connect_pull_consumer(in CosEventComm:: + PullConsumer pull_consumer) + raises (AlreadyConnected); + }; + + interface ProxyPullConsumer: CosEventComm::PullConsumer + { + void connect_pull_supplier(in CosEventComm:: + PullSupplier pull_supplier) + raises (AlreadyConnected, TypeError); + }; + + interface ProxyPushSupplier: CosEventComm::PushSupplier + { + void connect_push_consumer(in CosEventComm:: + PushConsumer push_consumer) + raises (AlreadyConnected, TypeError); + }; + + interface ConsumerAdmin + { + ProxyPushSupplier obtain_push_supplier(); + ProxyPullSupplier obtain_pull_supplier(); + }; + + interface SupplierAdmin + { + ProxyPushConsumer obtain_push_consumer(); + ProxyPullConsumer obtain_pull_consumer(); + }; + + interface EventChannel + { + ConsumerAdmin for_consumers(); + SupplierAdmin for_suppliers(); + void destroy(); + }; + +}; + +#endif + + + + |