//File: CosEventComm.idl
//Part of the Event Service

#ifndef _COS_EVENT_COMM_IDL_
#define _COS_EVENT_COMM_IDL_
#pragma prefix "omg.org"

module CosEventComm {

   exception Disconnected{};

   interface PushConsumer {
      void push (in any data) raises(Disconnected);
      void disconnect_push_consumer();
   };

    interface PushSupplier {
      void disconnect_push_supplier();
   };

   interface PullSupplier {
      any pull () raises(Disconnected);
      any try_pull (out boolean has_event)
         raises(Disconnected);
      void disconnect_pull_supplier();
   };

   interface PullConsumer {
      void disconnect_pull_consumer();
   };

};
#endif /* ifndef _COS_EVENT_COMM_IDL_ */
