aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cosNotification/src/CosTypedNotification.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/cosNotification/src/CosTypedNotification.idl
downloadotp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz
otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2
otp-84adefa331c4159d432d22840663c38f155cd4c1.zip
The R13B03 release.OTP_R13B03
Diffstat (limited to 'lib/cosNotification/src/CosTypedNotification.idl')
-rw-r--r--lib/cosNotification/src/CosTypedNotification.idl109
1 files changed, 109 insertions, 0 deletions
diff --git a/lib/cosNotification/src/CosTypedNotification.idl b/lib/cosNotification/src/CosTypedNotification.idl
new file mode 100644
index 0000000000..882cde16e0
--- /dev/null
+++ b/lib/cosNotification/src/CosTypedNotification.idl
@@ -0,0 +1,109 @@
+#ifndef _COS_TYPED_NOTIFICATION_IDL_
+#define _COS_TYPED_NOTIFICATION_IDL_
+
+#pragma prefix "omg.org"
+
+#include<CosNotifyChannelAdmin.idl>
+#include<CosTypedEvent.idl>
+#include<CosNotification.idl>
+
+module CosTypedNotifyComm {
+ interface TypedPushConsumer : CosTypedEventComm::TypedPushConsumer, CosNotifyComm::NotifyPublish { }; // TypedPushConsumer
+
+ interface TypedPullSupplier : CosTypedEventComm::TypedPullSupplier, CosNotifyComm::NotifySubscribe { }; // TypedPullSupplier
+}; // CosTypedNotifyComm
+
+
+module CosTypedNotifyChannelAdmin {
+ // Forward declaration
+ interface TypedEventChannelFactory;
+ typedef string Key;
+ interface TypedProxyPushConsumer : CosNotifyChannelAdmin::ProxyConsumer, CosTypedNotifyComm::TypedPushConsumer {
+ void connect_typed_push_supplier (in CosEventComm::PushSupplier push_supplier)
+ raises (CosEventChannelAdmin::AlreadyConnected);
+ }; // TypedProxyPushConsumer
+
+ interface TypedProxyPullSupplier : CosNotifyChannelAdmin::ProxySupplier, CosTypedNotifyComm::TypedPullSupplier {
+ void connect_typed_pull_consumer (in CosEventComm::PullConsumer pull_consumer)
+ raises (CosEventChannelAdmin::AlreadyConnected);
+ }; // TypedProxyPullSupplier
+
+ interface TypedProxyPullConsumer : CosNotifyChannelAdmin::ProxyConsumer, CosNotifyComm::PullConsumer {
+ void connect_typed_pull_supplier (in CosTypedEventComm::TypedPullSupplier pull_supplier)
+ raises (CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);
+
+ void suspend_connection()
+ raises (CosNotifyChannelAdmin::ConnectionAlreadyInactive, CosNotifyChannelAdmin::NotConnected);
+
+ void resume_connection()
+ raises (CosNotifyChannelAdmin::ConnectionAlreadyActive, CosNotifyChannelAdmin::NotConnected);
+ }; // TypedProxyPullConsumer
+
+ interface TypedProxyPushSupplier : CosNotifyChannelAdmin::ProxySupplier, CosNotifyComm::PushSupplier {
+ void connect_typed_push_consumer (in CosTypedEventComm::TypedPushConsumer push_consumer)
+ raises (CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);
+
+ void suspend_connection()
+ raises (CosNotifyChannelAdmin::ConnectionAlreadyInactive, CosNotifyChannelAdmin::NotConnected);
+
+ void resume_connection()
+ raises (CosNotifyChannelAdmin::ConnectionAlreadyActive, CosNotifyChannelAdmin::NotConnected);
+ }; // TypedProxyPushSupplier
+
+ interface TypedConsumerAdmin : CosNotifyChannelAdmin::ConsumerAdmin, CosTypedEventChannelAdmin::TypedConsumerAdmin {
+ TypedProxyPullSupplier obtain_typed_notification_pull_supplier(in Key supported_interface,
+ out CosNotifyChannelAdmin::ProxyID proxy_id)
+ raises( CosTypedEventChannelAdmin::InterfaceNotSupported, CosNotifyChannelAdmin::AdminLimitExceeded );
+
+ TypedProxyPushSupplier obtain_typed_notification_push_supplier(in Key uses_interface,
+ out CosNotifyChannelAdmin::ProxyID proxy_id)
+ raises(CosTypedEventChannelAdmin::NoSuchImplementation, CosNotifyChannelAdmin::AdminLimitExceeded);
+ }; // TypedConsumerAdmin
+
+ interface TypedSupplierAdmin : CosNotifyChannelAdmin::SupplierAdmin, CosTypedEventChannelAdmin::TypedSupplierAdmin {
+ TypedProxyPushConsumer obtain_typed_notification_push_consumer(in Key supported_interface,
+ out CosNotifyChannelAdmin::ProxyID proxy_id)
+ raises( CosTypedEventChannelAdmin::InterfaceNotSupported, CosNotifyChannelAdmin::AdminLimitExceeded);
+ TypedProxyPullConsumer obtain_typed_notification_pull_consumer(in Key uses_interface,
+ out CosNotifyChannelAdmin::ProxyID proxy_id )
+ raises(CosTypedEventChannelAdmin::NoSuchImplementation, CosNotifyChannelAdmin::AdminLimitExceeded);
+ }; // TypedSupplierAdmin
+
+ interface TypedEventChannel : CosNotification::QoSAdmin, CosNotification::AdminPropertiesAdmin,
+ CosTypedEventChannelAdmin::TypedEventChannel {
+ readonly attribute TypedEventChannelFactory MyFactory;
+ readonly attribute TypedConsumerAdmin default_consumer_admin;
+ readonly attribute TypedSupplierAdmin default_supplier_admin;
+ readonly attribute CosNotifyFilter::FilterFactory default_filter_factory;
+
+ TypedConsumerAdmin new_for_typed_notification_consumers(in CosNotifyChannelAdmin::InterFilterGroupOperator op,
+ out CosNotifyChannelAdmin::AdminID id);
+
+ TypedSupplierAdmin new_for_typed_notification_suppliers(in CosNotifyChannelAdmin::InterFilterGroupOperator op,
+ out CosNotifyChannelAdmin::AdminID id);
+
+ TypedConsumerAdmin get_consumeradmin (in CosNotifyChannelAdmin::AdminID id )
+ raises (CosNotifyChannelAdmin::AdminNotFound);
+
+ TypedSupplierAdmin get_supplieradmin (in CosNotifyChannelAdmin::AdminID id)
+ raises (CosNotifyChannelAdmin::AdminNotFound);
+
+ CosNotifyChannelAdmin::AdminIDSeq get_all_consumeradmins();
+
+ CosNotifyChannelAdmin::AdminIDSeq get_all_supplieradmins();
+ }; // TypedEventChannel
+
+ interface TypedEventChannelFactory {
+ TypedEventChannel create_typed_channel (in CosNotification::QoSProperties initial_QoS,
+ in CosNotification::AdminProperties initial_admin,
+ out CosNotifyChannelAdmin::ChannelID id)
+ raises( CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin);
+
+ CosNotifyChannelAdmin::ChannelIDSeq get_all_typed_channels();
+
+ TypedEventChannel get_typed_event_channel (in CosNotifyChannelAdmin::ChannelID id)
+ raises (CosNotifyChannelAdmin::ChannelNotFound);
+ }; // TypedEventChannelFactory
+}; // CosTypedNotifyChannelAdmin
+
+#endif /* ifndef _COS_TYPED_NOTIFICATION_IDL_ */