Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

CosEventChannelAdmin.idl

Go to the documentation of this file.
00001 #ifndef COS_EVENTCHANNELADMIN_IDL
00002 #define COS_EVENTCHANNELADMIN_IDL
00003 
00004 #include <CosEventComm.idl>
00005 
00016 #pragma prefix "omg.org"
00017 
00018 module CosEventChannelAdmin
00019 {
00024    exception AlreadyConnected {};
00025 
00030    exception TypeError {};
00031 
00035    interface ProxyPushConsumer: CosEventComm::PushConsumer
00036    {
00043       void connect_push_supplier(in CosEventComm::PushSupplier push_supplier)
00044          raises(AlreadyConnected);
00045    };
00046 
00050    interface ProxyPullSupplier: CosEventComm::PullSupplier 
00051    {
00058       void connect_pull_consumer(in CosEventComm::PullConsumer pull_consumer)
00059          raises(AlreadyConnected);
00060    };
00061 
00065    interface ProxyPullConsumer: CosEventComm::PullConsumer 
00066    {
00074       void connect_pull_supplier(in CosEventComm::PullSupplier pull_supplier)
00075          raises(AlreadyConnected,TypeError);
00076    };
00077 
00081    interface ProxyPushSupplier: CosEventComm::PushSupplier 
00082    {
00090       void connect_push_consumer(in CosEventComm::PushConsumer push_consumer)
00091          raises(AlreadyConnected, TypeError);
00092    };
00093    
00097    interface ConsumerAdmin 
00098    {
00103       ProxyPushSupplier obtain_push_supplier();
00104 
00109       ProxyPullSupplier obtain_pull_supplier();
00110    };
00111    
00115    interface SupplierAdmin
00116    {
00121       ProxyPushConsumer obtain_push_consumer();
00122 
00127       ProxyPullConsumer obtain_pull_consumer();
00128    };
00129 
00133    interface EventChannel
00134    {
00140       ConsumerAdmin for_consumers();
00141 
00147       SupplierAdmin for_suppliers();
00148 
00152       void destroy();
00153    };
00154 };
00155 
00156 #endif /* COS_EVENTCHANNELADMIN_IDL */