diff options
Diffstat (limited to 'lib/cosNotification/src/CosNotifyComm.idl')
-rw-r--r-- | lib/cosNotification/src/CosNotifyComm.idl | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/lib/cosNotification/src/CosNotifyComm.idl b/lib/cosNotification/src/CosNotifyComm.idl new file mode 100644 index 0000000000..f0386f0982 --- /dev/null +++ b/lib/cosNotification/src/CosNotifyComm.idl @@ -0,0 +1,83 @@ +#ifndef _COS_NOTIFYCOMM_IDL_ +#define _COS_NOTIFYCOMM_IDL_ + +#pragma prefix "omg.org" + + +#include<CosNotification.idl> + +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 /* ifndef _COS_NOTIFYCOMM_IDL_ */ + |