// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 2003
// IONA Technologies, Inc.
// Waltham, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

// Version: 4.1.3

#ifndef __OB_CosEventChannelAdmin_h__
#define __OB_CosEventChannelAdmin_h__

#ifndef OB_EVENT_IMPORT
#   ifdef OB_DLL
#      define OB_EVENT_IMPORT __declspec(dllimport)
#   else
#      define OB_EVENT_IMPORT /**/
#   endif
#endif


#include <OB/CosEventComm.h>

#ifndef OB_INTEGER_VERSION
#   error No ORBacus version defined! Is <OB/CORBA.h> included?
#endif

#ifndef OB_NO_VERSION_CHECK
#   if (OB_INTEGER_VERSION != 4010300L)
#       error ORBacus version mismatch!
#   endif
#endif

namespace CosEventChannelAdmin
{

class ProxyPushConsumer;
typedef ProxyPushConsumer* ProxyPushConsumer_ptr;
typedef ProxyPushConsumer* ProxyPushConsumerRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_ProxyPushConsumer;

class ProxyPullSupplier;
typedef ProxyPullSupplier* ProxyPullSupplier_ptr;
typedef ProxyPullSupplier* ProxyPullSupplierRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_ProxyPullSupplier;

class ProxyPullConsumer;
typedef ProxyPullConsumer* ProxyPullConsumer_ptr;
typedef ProxyPullConsumer* ProxyPullConsumerRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_ProxyPullConsumer;

class ProxyPushSupplier;
typedef ProxyPushSupplier* ProxyPushSupplier_ptr;
typedef ProxyPushSupplier* ProxyPushSupplierRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_ProxyPushSupplier;

class ConsumerAdmin;
typedef ConsumerAdmin* ConsumerAdmin_ptr;
typedef ConsumerAdmin* ConsumerAdminRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_ConsumerAdmin;

class SupplierAdmin;
typedef SupplierAdmin* SupplierAdmin_ptr;
typedef SupplierAdmin* SupplierAdminRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_SupplierAdmin;

class EventChannel;
typedef EventChannel* EventChannel_ptr;
typedef EventChannel* EventChannelRef;

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_EventChannel;

} // End of namespace CosEventChannelAdmin

void OBDuplicate(CosEventChannelAdmin::ProxyPushConsumer_ptr);
void OBRelease(CosEventChannelAdmin::ProxyPushConsumer_ptr);

void OBMarshal(CosEventChannelAdmin::ProxyPushConsumer_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::ProxyPushConsumer_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::ProxyPullSupplier_ptr);
void OBRelease(CosEventChannelAdmin::ProxyPullSupplier_ptr);

void OBMarshal(CosEventChannelAdmin::ProxyPullSupplier_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::ProxyPullSupplier_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::ProxyPullConsumer_ptr);
void OBRelease(CosEventChannelAdmin::ProxyPullConsumer_ptr);

void OBMarshal(CosEventChannelAdmin::ProxyPullConsumer_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::ProxyPullConsumer_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::ProxyPushSupplier_ptr);
void OBRelease(CosEventChannelAdmin::ProxyPushSupplier_ptr);

void OBMarshal(CosEventChannelAdmin::ProxyPushSupplier_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::ProxyPushSupplier_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::ConsumerAdmin_ptr);
void OBRelease(CosEventChannelAdmin::ConsumerAdmin_ptr);

void OBMarshal(CosEventChannelAdmin::ConsumerAdmin_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::ConsumerAdmin_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::SupplierAdmin_ptr);
void OBRelease(CosEventChannelAdmin::SupplierAdmin_ptr);

void OBMarshal(CosEventChannelAdmin::SupplierAdmin_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::SupplierAdmin_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosEventChannelAdmin::EventChannel_ptr);
void OBRelease(CosEventChannelAdmin::EventChannel_ptr);

void OBMarshal(CosEventChannelAdmin::EventChannel_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosEventChannelAdmin::EventChannel_ptr&, OB::InputStreamImpl*);

namespace CosEventChannelAdmin
{

typedef OB::ObjVar< ProxyPushConsumer > ProxyPushConsumer_var;
typedef OB::ObjOut< ProxyPushConsumer > ProxyPushConsumer_out;

typedef OB::ObjVar< ProxyPullSupplier > ProxyPullSupplier_var;
typedef OB::ObjOut< ProxyPullSupplier > ProxyPullSupplier_out;

typedef OB::ObjVar< ProxyPullConsumer > ProxyPullConsumer_var;
typedef OB::ObjOut< ProxyPullConsumer > ProxyPullConsumer_out;

typedef OB::ObjVar< ProxyPushSupplier > ProxyPushSupplier_var;
typedef OB::ObjOut< ProxyPushSupplier > ProxyPushSupplier_out;

typedef OB::ObjVar< ConsumerAdmin > ConsumerAdmin_var;
typedef OB::ObjOut< ConsumerAdmin > ConsumerAdmin_out;

typedef OB::ObjVar< SupplierAdmin > SupplierAdmin_var;
typedef OB::ObjOut< SupplierAdmin > SupplierAdmin_out;

typedef OB::ObjVar< EventChannel > EventChannel_var;
typedef OB::ObjOut< EventChannel > EventChannel_out;

} // End of namespace CosEventChannelAdmin

namespace OBStubImpl_CosEventChannelAdmin
{

class ProxyPushConsumer;
typedef ProxyPushConsumer* ProxyPushConsumer_ptr;

class ProxyPullSupplier;
typedef ProxyPullSupplier* ProxyPullSupplier_ptr;

class ProxyPullConsumer;
typedef ProxyPullConsumer* ProxyPullConsumer_ptr;

class ProxyPushSupplier;
typedef ProxyPushSupplier* ProxyPushSupplier_ptr;

class ConsumerAdmin;
typedef ConsumerAdmin* ConsumerAdmin_ptr;

class SupplierAdmin;
typedef SupplierAdmin* SupplierAdmin_ptr;

class EventChannel;
typedef EventChannel* EventChannel_ptr;

} // End of namespace OBStubImpl_CosEventChannelAdmin

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::ProxyPushConsumer_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::ProxyPushConsumer_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::ProxyPullSupplier_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::ProxyPullSupplier_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::ProxyPullConsumer_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::ProxyPullConsumer_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::ProxyPushSupplier_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::ProxyPushSupplier_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::ConsumerAdmin_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::ConsumerAdmin_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::SupplierAdmin_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::SupplierAdmin_ptr);

void OBDuplicate(OBStubImpl_CosEventChannelAdmin::EventChannel_ptr);
void OBRelease(OBStubImpl_CosEventChannelAdmin::EventChannel_ptr);

namespace OBStubImpl_CosEventChannelAdmin
{

typedef OB::ObjVar< ProxyPushConsumer > ProxyPushConsumer_var;

typedef OB::ObjVar< ProxyPullSupplier > ProxyPullSupplier_var;

typedef OB::ObjVar< ProxyPullConsumer > ProxyPullConsumer_var;

typedef OB::ObjVar< ProxyPushSupplier > ProxyPushSupplier_var;

typedef OB::ObjVar< ConsumerAdmin > ConsumerAdmin_var;

typedef OB::ObjVar< SupplierAdmin > SupplierAdmin_var;

typedef OB::ObjVar< EventChannel > EventChannel_var;

} // End of namespace OBStubImpl_CosEventChannelAdmin

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

//
// IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0
//
struct AlreadyConnected : public ::CORBA::UserException
{
    AlreadyConnected() { }
    AlreadyConnected(const AlreadyConnected&);
    AlreadyConnected& operator=(const AlreadyConnected&);

    static AlreadyConnected* _downcast(::CORBA::Exception*);
    static const AlreadyConnected* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(AlreadyConnected&, OB::InputStreamImpl*);
};

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_AlreadyConnected;

//
// IDL:omg.org/CosEventChannelAdmin/TypeError:1.0
//
struct TypeError : public ::CORBA::UserException
{
    TypeError() { }
    TypeError(const TypeError&);
    TypeError& operator=(const TypeError&);

    static TypeError* _downcast(::CORBA::Exception*);
    static const TypeError* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(TypeError&, OB::InputStreamImpl*);
};

OB_EVENT_IMPORT extern OB::TypeCodeConst _tc_TypeError;

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
//
class ProxyPushConsumer : virtual public ::CosEventComm::PushConsumer
{
    ProxyPushConsumer(const ProxyPushConsumer&);
    void operator=(const ProxyPushConsumer&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    ProxyPushConsumer() { }
    virtual ~ProxyPushConsumer() { }

    typedef ProxyPushConsumer_ptr _ptr_type;
    typedef ProxyPushConsumer_var _var_type;

    static inline ProxyPushConsumer_ptr
    _duplicate(ProxyPushConsumer_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ProxyPushConsumer_ptr
    _nil()
    {
        return 0;
    }

    static ProxyPushConsumer_ptr _narrow(::CORBA::Object_ptr);
    static ProxyPushConsumer_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static ProxyPushConsumer_ptr _narrow(::CORBA::AbstractBase_ptr);
    static ProxyPushConsumer_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // 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 ProxyPullSupplier : virtual public ::CosEventComm::PullSupplier
{
    ProxyPullSupplier(const ProxyPullSupplier&);
    void operator=(const ProxyPullSupplier&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    ProxyPullSupplier() { }
    virtual ~ProxyPullSupplier() { }

    typedef ProxyPullSupplier_ptr _ptr_type;
    typedef ProxyPullSupplier_var _var_type;

    static inline ProxyPullSupplier_ptr
    _duplicate(ProxyPullSupplier_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ProxyPullSupplier_ptr
    _nil()
    {
        return 0;
    }

    static ProxyPullSupplier_ptr _narrow(::CORBA::Object_ptr);
    static ProxyPullSupplier_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static ProxyPullSupplier_ptr _narrow(::CORBA::AbstractBase_ptr);
    static ProxyPullSupplier_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // 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 ProxyPullConsumer : virtual public ::CosEventComm::PullConsumer
{
    ProxyPullConsumer(const ProxyPullConsumer&);
    void operator=(const ProxyPullConsumer&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    ProxyPullConsumer() { }
    virtual ~ProxyPullConsumer() { }

    typedef ProxyPullConsumer_ptr _ptr_type;
    typedef ProxyPullConsumer_var _var_type;

    static inline ProxyPullConsumer_ptr
    _duplicate(ProxyPullConsumer_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ProxyPullConsumer_ptr
    _nil()
    {
        return 0;
    }

    static ProxyPullConsumer_ptr _narrow(::CORBA::Object_ptr);
    static ProxyPullConsumer_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static ProxyPullConsumer_ptr _narrow(::CORBA::AbstractBase_ptr);
    static ProxyPullConsumer_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // 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 ProxyPushSupplier : virtual public ::CosEventComm::PushSupplier
{
    ProxyPushSupplier(const ProxyPushSupplier&);
    void operator=(const ProxyPushSupplier&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    ProxyPushSupplier() { }
    virtual ~ProxyPushSupplier() { }

    typedef ProxyPushSupplier_ptr _ptr_type;
    typedef ProxyPushSupplier_var _var_type;

    static inline ProxyPushSupplier_ptr
    _duplicate(ProxyPushSupplier_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ProxyPushSupplier_ptr
    _nil()
    {
        return 0;
    }

    static ProxyPushSupplier_ptr _narrow(::CORBA::Object_ptr);
    static ProxyPushSupplier_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static ProxyPushSupplier_ptr _narrow(::CORBA::AbstractBase_ptr);
    static ProxyPushSupplier_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // 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 ConsumerAdmin : virtual public ::CORBA::Object
{
    ConsumerAdmin(const ConsumerAdmin&);
    void operator=(const ConsumerAdmin&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    ConsumerAdmin() { }
    virtual ~ConsumerAdmin() { }

    typedef ConsumerAdmin_ptr _ptr_type;
    typedef ConsumerAdmin_var _var_type;

    static inline ConsumerAdmin_ptr
    _duplicate(ConsumerAdmin_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConsumerAdmin_ptr
    _nil()
    {
        return 0;
    }

    static ConsumerAdmin_ptr _narrow(::CORBA::Object_ptr);
    static ConsumerAdmin_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static ConsumerAdmin_ptr _narrow(::CORBA::AbstractBase_ptr);
    static ConsumerAdmin_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

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

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

//
// IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0
//
class SupplierAdmin : virtual public ::CORBA::Object
{
    SupplierAdmin(const SupplierAdmin&);
    void operator=(const SupplierAdmin&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    SupplierAdmin() { }
    virtual ~SupplierAdmin() { }

    typedef SupplierAdmin_ptr _ptr_type;
    typedef SupplierAdmin_var _var_type;

    static inline SupplierAdmin_ptr
    _duplicate(SupplierAdmin_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline SupplierAdmin_ptr
    _nil()
    {
        return 0;
    }

    static SupplierAdmin_ptr _narrow(::CORBA::Object_ptr);
    static SupplierAdmin_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static SupplierAdmin_ptr _narrow(::CORBA::AbstractBase_ptr);
    static SupplierAdmin_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

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

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

//
// IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0
//
class EventChannel : virtual public ::CORBA::Object
{
    EventChannel(const EventChannel&);
    void operator=(const EventChannel&);

protected:

    static OB_EVENT_IMPORT const char* ids_[];

public:

    EventChannel() { }
    virtual ~EventChannel() { }

    typedef EventChannel_ptr _ptr_type;
    typedef EventChannel_var _var_type;

    static inline EventChannel_ptr
    _duplicate(EventChannel_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline EventChannel_ptr
    _nil()
    {
        return 0;
    }

    static EventChannel_ptr _narrow(::CORBA::Object_ptr);
    static EventChannel_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static EventChannel_ptr _narrow(::CORBA::AbstractBase_ptr);
    static EventChannel_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

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

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

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

} // End of namespace CosEventChannelAdmin

//
// IDL:omg.org/CosEventChannelAdmin:1.0
//
namespace OBProxy_CosEventChannelAdmin
{

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    ProxyPushConsumer() { }
    virtual ~ProxyPushConsumer() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer/connect_push_supplier:1.0
    //
    void connect_push_supplier(::CosEventComm::PushSupplier_ptr push_supplier);
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    ProxyPullSupplier() { }
    virtual ~ProxyPullSupplier() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier/connect_pull_consumer:1.0
    //
    void connect_pull_consumer(::CosEventComm::PullConsumer_ptr pull_consumer);
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    ProxyPullConsumer() { }
    virtual ~ProxyPullConsumer() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer/connect_pull_supplier:1.0
    //
    void connect_pull_supplier(::CosEventComm::PullSupplier_ptr pull_supplier);
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    ProxyPushSupplier() { }
    virtual ~ProxyPushSupplier() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier/connect_push_consumer:1.0
    //
    void connect_push_consumer(::CosEventComm::PushConsumer_ptr push_consumer);
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    ConsumerAdmin() { }
    virtual ~ConsumerAdmin() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_push_supplier:1.0
    //
    ::CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier();

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_pull_supplier:1.0
    //
    ::CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier();
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    SupplierAdmin() { }
    virtual ~SupplierAdmin() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_push_consumer:1.0
    //
    ::CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer();

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_pull_consumer:1.0
    //
    ::CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer();
};

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

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    EventChannel() { }
    virtual ~EventChannel() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_consumers:1.0
    //
    ::CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers();

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_suppliers:1.0
    //
    ::CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers();

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

} // End of namespace OBProxy_CosEventChannelAdmin

//
// IDL:omg.org/CosEventChannelAdmin:1.0
//
namespace OBStubImpl_CosEventChannelAdmin
{

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
//
class ProxyPushConsumer : virtual public OBStubImpl_CosEventComm::PushConsumer
{
    ProxyPushConsumer(const ProxyPushConsumer&);
    void operator=(const ProxyPushConsumer&);

protected:

    ProxyPushConsumer() { }

public:

    static inline ProxyPushConsumer_ptr
    _duplicate(ProxyPushConsumer_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline ProxyPushConsumer_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 ProxyPullSupplier : virtual public OBStubImpl_CosEventComm::PullSupplier
{
    ProxyPullSupplier(const ProxyPullSupplier&);
    void operator=(const ProxyPullSupplier&);

protected:

    ProxyPullSupplier() { }

public:

    static inline ProxyPullSupplier_ptr
    _duplicate(ProxyPullSupplier_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline ProxyPullSupplier_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 ProxyPullConsumer : virtual public OBStubImpl_CosEventComm::PullConsumer
{
    ProxyPullConsumer(const ProxyPullConsumer&);
    void operator=(const ProxyPullConsumer&);

protected:

    ProxyPullConsumer() { }

public:

    static inline ProxyPullConsumer_ptr
    _duplicate(ProxyPullConsumer_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline ProxyPullConsumer_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 ProxyPushSupplier : virtual public OBStubImpl_CosEventComm::PushSupplier
{
    ProxyPushSupplier(const ProxyPushSupplier&);
    void operator=(const ProxyPushSupplier&);

protected:

    ProxyPushSupplier() { }

public:

    static inline ProxyPushSupplier_ptr
    _duplicate(ProxyPushSupplier_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline ProxyPushSupplier_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 ConsumerAdmin : virtual public OB::StubImplBase
{
    ConsumerAdmin(const ConsumerAdmin&);
    void operator=(const ConsumerAdmin&);

protected:

    ConsumerAdmin() { }

public:

    static inline ConsumerAdmin_ptr
    _duplicate(ConsumerAdmin_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline ConsumerAdmin_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 SupplierAdmin : virtual public OB::StubImplBase
{
    SupplierAdmin(const SupplierAdmin&);
    void operator=(const SupplierAdmin&);

protected:

    SupplierAdmin() { }

public:

    static inline SupplierAdmin_ptr
    _duplicate(SupplierAdmin_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline SupplierAdmin_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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 EventChannel : virtual public OB::StubImplBase
{
    EventChannel(const EventChannel&);
    void operator=(const EventChannel&);

protected:

    EventChannel() { }

public:

    static inline EventChannel_ptr
    _duplicate(EventChannel_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline EventChannel_ptr
    _nil()
    {
        return 0;
    }

    //
    // 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;
};

} // End of namespace OBStubImpl_CosEventChannelAdmin

//
// IDL:omg.org/CosEventChannelAdmin:1.0
//
namespace OBMarshalStubImpl_CosEventChannelAdmin
{

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
//
class ProxyPushConsumer : virtual public OBStubImpl_CosEventChannelAdmin::ProxyPushConsumer,
                          virtual public OBMarshalStubImpl_CosEventComm::PushConsumer
{
    ProxyPushConsumer(const ProxyPushConsumer&);
    void operator=(const ProxyPushConsumer&);

protected:

    ProxyPushConsumer() { }
    friend class OBProxy_CosEventChannelAdmin::ProxyPushConsumer;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer/connect_push_supplier:1.0
    //
    virtual void connect_push_supplier(::CosEventComm::PushSupplier_ptr push_supplier);
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0
//
class ProxyPullSupplier : virtual public OBStubImpl_CosEventChannelAdmin::ProxyPullSupplier,
                          virtual public OBMarshalStubImpl_CosEventComm::PullSupplier
{
    ProxyPullSupplier(const ProxyPullSupplier&);
    void operator=(const ProxyPullSupplier&);

protected:

    ProxyPullSupplier() { }
    friend class OBProxy_CosEventChannelAdmin::ProxyPullSupplier;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier/connect_pull_consumer:1.0
    //
    virtual void connect_pull_consumer(::CosEventComm::PullConsumer_ptr pull_consumer);
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0
//
class ProxyPullConsumer : virtual public OBStubImpl_CosEventChannelAdmin::ProxyPullConsumer,
                          virtual public OBMarshalStubImpl_CosEventComm::PullConsumer
{
    ProxyPullConsumer(const ProxyPullConsumer&);
    void operator=(const ProxyPullConsumer&);

protected:

    ProxyPullConsumer() { }
    friend class OBProxy_CosEventChannelAdmin::ProxyPullConsumer;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer/connect_pull_supplier:1.0
    //
    virtual void connect_pull_supplier(::CosEventComm::PullSupplier_ptr pull_supplier);
};

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0
//
class ProxyPushSupplier : virtual public OBStubImpl_CosEventChannelAdmin::ProxyPushSupplier,
                          virtual public OBMarshalStubImpl_CosEventComm::PushSupplier
{
    ProxyPushSupplier(const ProxyPushSupplier&);
    void operator=(const ProxyPushSupplier&);

protected:

    ProxyPushSupplier() { }
    friend class OBProxy_CosEventChannelAdmin::ProxyPushSupplier;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier/connect_push_consumer:1.0
    //
    virtual void connect_push_consumer(::CosEventComm::PushConsumer_ptr push_consumer);
};

//
// IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0
//
class ConsumerAdmin : virtual public OBStubImpl_CosEventChannelAdmin::ConsumerAdmin,
                      virtual public OB::MarshalStubImpl
{
    ConsumerAdmin(const ConsumerAdmin&);
    void operator=(const ConsumerAdmin&);

protected:

    ConsumerAdmin() { }
    friend class OBProxy_CosEventChannelAdmin::ConsumerAdmin;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_push_supplier:1.0
    //
    virtual ::CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier();

    //
    // IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin/obtain_pull_supplier:1.0
    //
    virtual ::CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier();
};

//
// IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0
//
class SupplierAdmin : virtual public OBStubImpl_CosEventChannelAdmin::SupplierAdmin,
                      virtual public OB::MarshalStubImpl
{
    SupplierAdmin(const SupplierAdmin&);
    void operator=(const SupplierAdmin&);

protected:

    SupplierAdmin() { }
    friend class OBProxy_CosEventChannelAdmin::SupplierAdmin;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_push_consumer:1.0
    //
    virtual ::CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer();

    //
    // IDL:omg.org/CosEventChannelAdmin/SupplierAdmin/obtain_pull_consumer:1.0
    //
    virtual ::CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer();
};

//
// IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0
//
class EventChannel : virtual public OBStubImpl_CosEventChannelAdmin::EventChannel,
                     virtual public OB::MarshalStubImpl
{
    EventChannel(const EventChannel&);
    void operator=(const EventChannel&);

protected:

    EventChannel() { }
    friend class OBProxy_CosEventChannelAdmin::EventChannel;

public:

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_consumers:1.0
    //
    virtual ::CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers();

    //
    // IDL:omg.org/CosEventChannelAdmin/EventChannel/for_suppliers:1.0
    //
    virtual ::CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers();

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

} // End of namespace OBMarshalStubImpl_CosEventChannelAdmin

//
// IDL:omg.org/CosEventChannelAdmin:1.0
//
namespace OBV_CosEventChannelAdmin
{

} // End of namespace OBV_CosEventChannelAdmin

//
// IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0
//
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::AlreadyConnected*);
void operator<<=(::CORBA::Any&, const CosEventChannelAdmin::AlreadyConnected&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosEventChannelAdmin::AlreadyConnected*&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::AlreadyConnected* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosEventChannelAdmin::AlreadyConnected& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosEventChannelAdmin::AlreadyConnected*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/TypeError:1.0
//
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::TypeError*);
void operator<<=(::CORBA::Any&, const CosEventChannelAdmin::TypeError&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosEventChannelAdmin::TypeError*&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::TypeError* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosEventChannelAdmin::TypeError& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosEventChannelAdmin::TypeError*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::ProxyPushConsumer_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::ProxyPushConsumer_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::ProxyPushConsumer_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::ProxyPushConsumer_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPushConsumer_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPushConsumer_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::ProxyPushConsumer_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushConsumer_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushConsumer_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushConsumer_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::ProxyPullSupplier_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::ProxyPullSupplier_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::ProxyPullSupplier_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::ProxyPullSupplier_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPullSupplier_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPullSupplier_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::ProxyPullSupplier_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullSupplier_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullSupplier_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullSupplier_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::ProxyPullConsumer_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::ProxyPullConsumer_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::ProxyPullConsumer_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::ProxyPullConsumer_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPullConsumer_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPullConsumer_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::ProxyPullConsumer_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullConsumer_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullConsumer_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPullConsumer_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::ProxyPushSupplier_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::ProxyPushSupplier_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::ProxyPushSupplier_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::ProxyPushSupplier_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPushSupplier_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ProxyPushSupplier_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::ProxyPushSupplier_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushSupplier_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushSupplier_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::ProxyPushSupplier_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::ConsumerAdmin_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::ConsumerAdmin_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::ConsumerAdmin_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::ConsumerAdmin_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ConsumerAdmin_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::ConsumerAdmin_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::ConsumerAdmin_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ConsumerAdmin_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::ConsumerAdmin_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::ConsumerAdmin_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::SupplierAdmin_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::SupplierAdmin_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::SupplierAdmin_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::SupplierAdmin_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::SupplierAdmin_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::SupplierAdmin_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::SupplierAdmin_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::SupplierAdmin_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::SupplierAdmin_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::SupplierAdmin_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0
//
namespace CORBA
{

inline void
release(::CosEventChannelAdmin::EventChannel_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosEventChannelAdmin::EventChannel_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosEventChannelAdmin::EventChannel_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosEventChannelAdmin::EventChannel_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosEventChannelAdmin::EventChannel_ptr*);
void operator<<=(::CORBA::Any&, CosEventChannelAdmin::EventChannel_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosEventChannelAdmin::EventChannel_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::EventChannel_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosEventChannelAdmin::EventChannel_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosEventChannelAdmin::EventChannel_ptr& val)
{
    return any.in() >>= val;
}

#endif
