blob: 8ddf3a3c0e47528932f01196ec736b27f3b8690f [file] [log] [blame]
/**
* This module is taken from the standard CORBA Event Service
* 1.2, as described in:
*
* https://www.omg.org/spec/EVNT/1.2/
*
* The idl was extracted from the following PDF:
* formal/04-10-02
*/
#ifndef _COS_EVENT_CHANNEL_ADMIN_IDL_
#define _COS_EVENT_CHANNEL_ADMIN_IDL_
#include "CosEventComm.idl"
#pragma prefix "omg.org"
module CosEventChannelAdmin {
exception AlreadyConnected {};
exception TypeError {};
interface ProxyPushConsumer: CosEventComm::PushConsumer {
void connect_push_supplier(in CosEventComm::PushSupplier push_supplier)
raises(AlreadyConnected);
};
interface ProxyPullSupplier: CosEventComm::PullSupplier {
void connect_pull_consumer(in CosEventComm::PullConsumer pull_consumer)
raises(AlreadyConnected);
};
interface ProxyPullConsumer: CosEventComm::PullConsumer {
void connect_pull_supplier(in CosEventComm::PullSupplier pull_supplier)
raises(AlreadyConnected,TypeError);
};
interface ProxyPushSupplier: CosEventComm::PushSupplier {
void connect_push_consumer(in CosEventComm::PushConsumer push_consumer)
raises(AlreadyConnected, 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();
};
};
#endif /* ifndef _COS_EVENT_CHANNEL_ADMIN_IDL_ */