blob: f0386f09827e15f623652c4510b77d3305c2d601 (
plain) (
tree)
|
|
#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_ */
|