aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cosEvent/src/CosEventChannelAdmin.idl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
committerErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
commit84adefa331c4159d432d22840663c38f155cd4c1 (patch)
treebff9a9c66adda4df2106dfd0e5c053ab182a12bd /lib/cosEvent/src/CosEventChannelAdmin.idl
downloadotp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz
otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2
otp-84adefa331c4159d432d22840663c38f155cd4c1.zip
The R13B03 release.OTP_R13B03
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
+
+
+
+