// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 1998
// Object-Oriented Concepts, Inc.
// Billerica, MA, USA
//
// Copyright (c) 1998
// Object-Oriented Concepts GmbH
// Ettlingen, Germany
//
// All Rights Reserved
//
// **********************************************************************

// Version: 3.0
// License: non-commercial

#ifndef __CosEventComm_skel_h__
#define __CosEventComm_skel_h__

#include <OB/CosEventComm.h>

//
// IDL:omg.org/CosEventComm:1.0
//

//
// IDL:omg.org/CosEventComm/PushConsumer:1.0
//
class CosEventComm_PushConsumer_skel : virtual public CosEventComm_PushConsumer,
                                       virtual public CORBA_Object_skel
{
    CosEventComm_PushConsumer_skel(const CosEventComm_PushConsumer_skel&);
    void operator=(const CosEventComm_PushConsumer_skel&);

public:

    CosEventComm_PushConsumer_skel() { }

    CosEventComm_PushConsumer_ptr _this() { return CosEventComm_PushConsumer::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CosEventComm/PushConsumer/push:1.0
    //
    virtual void push(const CORBA_Any& data) = 0;

    //
    // IDL:omg.org/CosEventComm/PushConsumer/disconnect_push_consumer:1.0
    //
    virtual void disconnect_push_consumer() = 0;
};

//
// IDL:omg.org/CosEventComm/PushSupplier:1.0
//
class CosEventComm_PushSupplier_skel : virtual public CosEventComm_PushSupplier,
                                       virtual public CORBA_Object_skel
{
    CosEventComm_PushSupplier_skel(const CosEventComm_PushSupplier_skel&);
    void operator=(const CosEventComm_PushSupplier_skel&);

public:

    CosEventComm_PushSupplier_skel() { }

    CosEventComm_PushSupplier_ptr _this() { return CosEventComm_PushSupplier::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CosEventComm/PushSupplier/disconnect_push_supplier:1.0
    //
    virtual void disconnect_push_supplier() = 0;
};

//
// IDL:omg.org/CosEventComm/PullSupplier:1.0
//
class CosEventComm_PullSupplier_skel : virtual public CosEventComm_PullSupplier,
                                       virtual public CORBA_Object_skel
{
    CosEventComm_PullSupplier_skel(const CosEventComm_PullSupplier_skel&);
    void operator=(const CosEventComm_PullSupplier_skel&);

public:

    CosEventComm_PullSupplier_skel() { }

    CosEventComm_PullSupplier_ptr _this() { return CosEventComm_PullSupplier::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CosEventComm/PullSupplier/pull:1.0
    //
    virtual CORBA_Any* pull() = 0;

    //
    // IDL:omg.org/CosEventComm/PullSupplier/try_pull:1.0
    //
    virtual CORBA_Any* try_pull(CORBA_Boolean& has_event) = 0;

    //
    // IDL:omg.org/CosEventComm/PullSupplier/disconnect_pull_supplier:1.0
    //
    virtual void disconnect_pull_supplier() = 0;
};

//
// IDL:omg.org/CosEventComm/PullConsumer:1.0
//
class CosEventComm_PullConsumer_skel : virtual public CosEventComm_PullConsumer,
                                       virtual public CORBA_Object_skel
{
    CosEventComm_PullConsumer_skel(const CosEventComm_PullConsumer_skel&);
    void operator=(const CosEventComm_PullConsumer_skel&);

public:

    CosEventComm_PullConsumer_skel() { }

    CosEventComm_PullConsumer_ptr _this() { return CosEventComm_PullConsumer::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CosEventComm/PullConsumer/disconnect_pull_consumer:1.0
    //
    virtual void disconnect_pull_consumer() = 0;
};

#endif
