// **********************************************************************
//
// Copyright (c) 2002
// IONA Technologies, Inc.
// Waltham, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

#ifndef CosEventComm_idl
#define CosEventComm_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 // CosEventComm_idl
