// CosEventsAdmin.idl (simplified by jpr) module CosEventChannelAdmin {   exception AlreadyConnected {};     interface ProxyPushConsumer : CosEventComm::PushConsumer   {     void connect_push_supplier ( in CosEventComm::PushSupplier ps )            raises (AlreadyConnected);   };     interface ProxyPullSupplier : CosEventComm::PullSupplier   {     void connect_pull_consumer ( in CosEventComm::PullConsumer pc )            raises (AlreadyConnected);   };     interface ProxyPullConsumer : CosEventComm::PullConsumer   {     void connect_pull_supplier ( in CosEventComm::PullSupplier ps )            raises (AlreadyConnected);   };     interface ProxyPushSupplier : CosEventComm::PushSupplier   {     void connect_push_consumer ( in CosEventComm::PushConsumer pc )            raises (AlreadyConnected);   };     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 ();   };   };