74 lines
2.0 KiB
Plaintext
74 lines
2.0 KiB
Plaintext
#pragma prefix "omg.org"
|
|
module CosEventComm
|
|
{
|
|
exception Disconnected{};
|
|
|
|
interface PushConsumer
|
|
{
|
|
void push (in any data) raises(Disconnected);
|
|
void disconnect_push_consumer();
|
|
};
|
|
|
|
interface PushSupplier
|
|
{
|
|
void disconnect_push_supplier();
|
|
};
|
|
|
|
interface PullSupplier
|
|
{
|
|
any pull () raises(Disconnected);
|
|
any try_pull (out boolean has_event) raises(Disconnected);
|
|
void disconnect_pull_supplier();
|
|
};
|
|
|
|
interface PullConsumer
|
|
{
|
|
void disconnect_pull_consumer();
|
|
};
|
|
};
|
|
|
|
#pragma prefix "omg.org"
|
|
module CosEventChannelAdmin
|
|
{
|
|
exception AlreadyConnected {};
|
|
exception TypeError {};
|
|
|
|
interface ProxyPushConsumer: CosEventComm::PushConsumer {
|
|
void connect_push_supplier(in CosEventComm::PushSupplier push_supplier)
|
|
raises(CosEventChannelAdmin::AlreadyConnected);
|
|
};
|
|
|
|
interface ProxyPushSupplier: CosEventComm::PushSupplier {
|
|
void connect_push_consumer(in CosEventComm::PushConsumer push_consumer)
|
|
raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);
|
|
};
|
|
|
|
interface ProxyPullSupplier: CosEventComm::PullSupplier {
|
|
void connect_pull_consumer(in CosEventComm::PullConsumer pull_consumer)
|
|
raises(CosEventChannelAdmin::AlreadyConnected);
|
|
};
|
|
|
|
interface ProxyPullConsumer: CosEventComm::PullConsumer {
|
|
void connect_pull_supplier(in CosEventComm::PullSupplier pull_supplier)
|
|
raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::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();
|
|
};
|
|
|
|
};
|
|
|