aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cosEvent/src/CosEventChannelAdmin.idl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cosEvent/src/CosEventChannelAdmin.idl')
-rw-r--r--lib/cosEvent/src/CosEventChannelAdmin.idl66
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
+
+
+
+