blob: d5cb92c4e074966305cb49a83f23d9748931ec3a (
plain) (
tree)
|
|
#ifndef _COSEVENTCHANELADMIN_IDL
#define _COSEVENTCHANELADMIN_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
|