// **********************************************************************
//
// 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 __CosEventChannelAdmin_skel_h__
#define __CosEventChannelAdmin_skel_h__

#include <OB/CosEventChannelAdmin.h>

#include <OB/CosEventComm_skel.h>

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

//
// IDL:omg.org/CosEventChannelAdmin:1.0
//

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
//
class CosEventChannelAdmin_ProxyPushConsumer_skel : virtual public CosEventChannelAdmin_ProxyPushConsumer,
                                                    virtual public CosEventComm_PushConsumer_skel
{
    CosEventChannelAdmin_ProxyPushConsumer_skel(const CosEventChannelAdmin_ProxyPushConsumer_skel&);
    void operator=(const CosEventChannelAdmin_ProxyPushConsumer_skel&);

public:

    CosEventChannelAdmin_ProxyPushConsumer_skel() { }

    CosEventChannelAdmin_ProxyPushConsumer_ptr _this() { return CosEventChannelAdmin_ProxyPushConsumer::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer/connect_push_supplier:1.0
    //
    virtual void connect_push_supplier(CosEventComm_PushSupplier_ptr push_supplier) = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0
//
class CosEventChannelAdmin_ProxyPullSupplier_skel : virtual public CosEventChannelAdmin_ProxyPullSupplier,
                                                    virtual public CosEventComm_PullSupplier_skel
{
    CosEventChannelAdmin_ProxyPullSupplier_skel(const CosEventChannelAdmin_ProxyPullSupplier_skel&);
    void operator=(const CosEventChannelAdmin_ProxyPullSupplier_skel&);

public:

    CosEventChannelAdmin_ProxyPullSupplier_skel() { }

    CosEventChannelAdmin_ProxyPullSupplier_ptr _this() { return CosEventChannelAdmin_ProxyPullSupplier::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier/connect_pull_consumer:1.0
    //
    virtual void connect_pull_consumer(CosEventComm_PullConsumer_ptr pull_consumer) = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0
//
class CosEventChannelAdmin_ProxyPullConsumer_skel : virtual public CosEventChannelAdmin_ProxyPullConsumer,
                                                    virtual public CosEventComm_PullConsumer_skel
{
    CosEventChannelAdmin_ProxyPullConsumer_skel(const CosEventChannelAdmin_ProxyPullConsumer_skel&);
    void operator=(const CosEventChannelAdmin_ProxyPullConsumer_skel&);

public:

    CosEventChannelAdmin_ProxyPullConsumer_skel() { }

    CosEventChannelAdmin_ProxyPullConsumer_ptr _this() { return CosEventChannelAdmin_ProxyPullConsumer::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer/connect_pull_supplier:1.0
    //
    virtual void connect_pull_supplier(CosEventComm_PullSupplier_ptr pull_supplier) = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0
//
class CosEventChannelAdmin_ProxyPushSupplier_skel : virtual public CosEventChannelAdmin_ProxyPushSupplier,
                                                    virtual public CosEventComm_PushSupplier_skel
{
    CosEventChannelAdmin_ProxyPushSupplier_skel(const CosEventChannelAdmin_ProxyPushSupplier_skel&);
    void operator=(const CosEventChannelAdmin_ProxyPushSupplier_skel&);

public:

    CosEventChannelAdmin_ProxyPushSupplier_skel() { }

    CosEventChannelAdmin_ProxyPushSupplier_ptr _this() { return CosEventChannelAdmin_ProxyPushSupplier::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier/connect_push_consumer:1.0
    //
    virtual void connect_push_consumer(CosEventComm_PushConsumer_ptr push_consumer) = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0
//
class CosEventChannelAdmin_ConsumerAdmin_skel : virtual public CosEventChannelAdmin_ConsumerAdmin,
                                                virtual public CORBA_Object_skel
{
    CosEventChannelAdmin_ConsumerAdmin_skel(const CosEventChannelAdmin_ConsumerAdmin_skel&);
    void operator=(const CosEventChannelAdmin_ConsumerAdmin_skel&);

public:

    CosEventChannelAdmin_ConsumerAdmin_skel() { }

    CosEventChannelAdmin_ConsumerAdmin_ptr _this() { return CosEventChannelAdmin_ConsumerAdmin::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_push_supplier:1.0
    //
    virtual CosEventChannelAdmin_ProxyPushSupplier_ptr obtain_push_supplier() = 0;

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_pull_supplier:1.0
    //
    virtual CosEventChannelAdmin_ProxyPullSupplier_ptr obtain_pull_supplier() = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0
//
class CosEventChannelAdmin_SupplierAdmin_skel : virtual public CosEventChannelAdmin_SupplierAdmin,
                                                virtual public CORBA_Object_skel
{
    CosEventChannelAdmin_SupplierAdmin_skel(const CosEventChannelAdmin_SupplierAdmin_skel&);
    void operator=(const CosEventChannelAdmin_SupplierAdmin_skel&);

public:

    CosEventChannelAdmin_SupplierAdmin_skel() { }

    CosEventChannelAdmin_SupplierAdmin_ptr _this() { return CosEventChannelAdmin_SupplierAdmin::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_push_consumer:1.0
    //
    virtual CosEventChannelAdmin_ProxyPushConsumer_ptr obtain_push_consumer() = 0;

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_pull_consumer:1.0
    //
    virtual CosEventChannelAdmin_ProxyPullConsumer_ptr obtain_pull_consumer() = 0;
};

//
// IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0
//
class CosEventChannelAdmin_EventChannel_skel : virtual public CosEventChannelAdmin_EventChannel,
                                               virtual public CORBA_Object_skel
{
    CosEventChannelAdmin_EventChannel_skel(const CosEventChannelAdmin_EventChannel_skel&);
    void operator=(const CosEventChannelAdmin_EventChannel_skel&);

public:

    CosEventChannelAdmin_EventChannel_skel() { }

    CosEventChannelAdmin_EventChannel_ptr _this() { return CosEventChannelAdmin_EventChannel::_duplicate(this); }

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

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_consumers:1.0
    //
    virtual CosEventChannelAdmin_ConsumerAdmin_ptr for_consumers() = 0;

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_suppliers:1.0
    //
    virtual CosEventChannelAdmin_SupplierAdmin_ptr for_suppliers() = 0;

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/destroy:1.0
    //
    virtual void destroy() = 0;
};

#endif
