1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// **********************************************************************
//
// Copyright (c) 1998
// Object-Oriented Concepts, Inc.
// Billerica, MA, USA
//
// Copyright (c) 1998
// Object-Oriented Concepts GmbH
// Ettlingen, Germany
//
// All Rights Reserved
//
// **********************************************************************
#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();
};
};
|