| /** |
| * This module is taken from the standard CORBA Notification Service |
| * 1.1, as described in: |
| * |
| * https://www.omg.org/spec/NOT/1.1/ |
| * |
| * The idl was extracted from the following PDF: |
| * formal/04-10-13 |
| */ |
| |
| #ifndef _COS_NOTIFY_COMM_IDL_ |
| #define _COS_NOTIFY_COMM_IDL_ |
| |
| #include "CosNotification.idl" |
| #include "CosEventComm.idl" |
| |
| #pragma prefix "omg.org" |
| |
| module CosNotifyComm { |
| |
| exception InvalidEventType { CosNotification::_EventType type; }; |
| |
| interface NotifyPublish { |
| |
| void offer_change ( |
| in CosNotification::EventTypeSeq added, |
| in CosNotification::EventTypeSeq removed ) |
| raises ( InvalidEventType ); |
| |
| }; // NotifyPublish |
| |
| interface NotifySubscribe { |
| |
| void subscription_change( |
| in CosNotification::EventTypeSeq added, |
| in CosNotification::EventTypeSeq removed ) |
| raises ( InvalidEventType ); |
| |
| }; // NotifySubscribe |
| |
| interface PushConsumer : |
| NotifyPublish, |
| CosEventComm::PushConsumer { |
| }; // PushConsumer |
| |
| interface PullConsumer : |
| NotifyPublish, |
| CosEventComm::PullConsumer { |
| }; // PullConsumer |
| |
| interface PullSupplier : |
| NotifySubscribe, |
| CosEventComm::PullSupplier { |
| }; // PullSupplier |
| |
| interface PushSupplier : |
| NotifySubscribe, |
| CosEventComm::PushSupplier { |
| }; |
| |
| interface StructuredPushConsumer : NotifyPublish { |
| |
| void push_structured_event( |
| in CosNotification::StructuredEvent notification) |
| raises(CosEventComm::Disconnected); |
| |
| void disconnect_structured_push_consumer(); |
| |
| }; // StructuredPushConsumer |
| |
| interface StructuredPullConsumer : NotifyPublish { |
| |
| void disconnect_structured_pull_consumer(); |
| |
| }; // StructuredPullConsumer |
| |
| interface StructuredPullSupplier : NotifySubscribe { |
| |
| CosNotification::StructuredEvent pull_structured_event() |
| raises(CosEventComm::Disconnected); |
| |
| CosNotification::StructuredEvent try_pull_structured_event( |
| out boolean has_event) |
| raises(CosEventComm::Disconnected); |
| |
| void disconnect_structured_pull_supplier(); |
| |
| }; // StructuredPullSupplier |
| |
| interface StructuredPushSupplier : NotifySubscribe { |
| |
| void disconnect_structured_push_supplier(); |
| |
| }; // StructuredPushSupplier |
| |
| interface SequencePushConsumer : NotifyPublish { |
| |
| void push_structured_events( |
| in CosNotification::EventBatch notifications) |
| raises(CosEventComm::Disconnected); |
| |
| void disconnect_sequence_push_consumer(); |
| |
| }; // SequencePushConsumer |
| |
| interface SequencePullConsumer : NotifyPublish { |
| |
| void disconnect_sequence_pull_consumer(); |
| |
| }; // SequencePullConsumer |
| |
| interface SequencePullSupplier : NotifySubscribe { |
| |
| CosNotification::EventBatch pull_structured_events( |
| in long max_number ) |
| raises(CosEventComm::Disconnected); |
| |
| CosNotification::EventBatch try_pull_structured_events( |
| in long max_number, |
| out boolean has_event) |
| raises(CosEventComm::Disconnected); |
| |
| void disconnect_sequence_pull_supplier(); |
| |
| }; // SequencePullSupplier |
| |
| interface SequencePushSupplier : NotifySubscribe { |
| |
| void disconnect_sequence_push_supplier(); |
| |
| }; // SequencePushSupplier |
| |
| }; // CosNotifyComm |
| |
| #endif /* _COS_NOTIFY_COMM_IDL_ */ |