/* -*- C++ -*- $Id$ */

// ******  Code generated by the The ACE ORB (TAO) IDL Compiler *******
// TAO and the TAO IDL Compiler have been developed by the Center for
// Distributed Object Computing at Washington University, St. Louis.
//
// Information about TAO is available at:
//                 http://www.cs.wustl.edu/~schmidt/TAO.html

#ifndef _TAO_IDL_COSEVENTCHANNELADMINC_H_
#define _TAO_IDL_COSEVENTCHANNELADMINC_H_

#include "tao/corba.h"

#if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION)
#include "ace/streams.h"
#endif /* ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#include "orbsvcs_export.h"
#include "CosEventCommC.h"

#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
#endif
#define TAO_EXPORT_MACRO TAO_ORBSVCS_Export

#if defined (TAO_EXPORT_NESTED_CLASSES)
#  if defined (TAO_EXPORT_NESTED_MACRO)
#    undef TAO_EXPORT_NESTED_MACRO
#  endif /* defined (TAO_EXPORT_NESTED_MACRO) */
#  define TAO_EXPORT_NESTED_MACRO TAO_ORBSVCS_Export
#endif /* TAO_EXPORT_NESTED_CLASSES */

#if defined(_MSC_VER)
#if (_MSC_VER >= 1200)
#pragma warning(push)
#endif /* _MSC_VER >= 1200 */
#pragma warning(disable:4250)
#endif /* _MSC_VER */

TAO_NAMESPACE  CosEventChannelAdmin
{

#if !defined (_COSEVENTCHANNELADMIN_ALREADYCONNECTED___PTR_CH_)
#define _COSEVENTCHANNELADMIN_ALREADYCONNECTED___PTR_CH_

  class AlreadyConnected;
  typedef AlreadyConnected *AlreadyConnected_ptr;
  
#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_ALREADYCONNECTED_CH_)
#define _COSEVENTCHANNELADMIN_ALREADYCONNECTED_CH_

  class TAO_ORBSVCS_Export AlreadyConnected : public CORBA::UserException
  {
  public:

#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
    typedef AlreadyConnected_ptr _ptr_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */


    AlreadyConnected (void); // default ctor
    AlreadyConnected (const AlreadyConnected &); // copy ctor
    ~AlreadyConnected (void); // dtor
    AlreadyConnected &operator= (const AlreadyConnected &);


    virtual void _raise (void);

    virtual void _tao_encode (
        TAO_OutputCDR &,
        CORBA::Environment &) const;
    virtual void _tao_decode (
        TAO_InputCDR &,
        CORBA::Environment &);

    static AlreadyConnected *_narrow (CORBA::Exception *);


    // = TAO extension
    static CORBA::Exception *_alloc (void);

  }; // exception CosEventChannelAdmin::AlreadyConnected

    TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_AlreadyConnected;


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_TYPEERROR___PTR_CH_)
#define _COSEVENTCHANNELADMIN_TYPEERROR___PTR_CH_

  class TypeError;
  typedef TypeError *TypeError_ptr;
  
#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_TYPEERROR_CH_)
#define _COSEVENTCHANNELADMIN_TYPEERROR_CH_

  class TAO_ORBSVCS_Export TypeError : public CORBA::UserException
  {
  public:

#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
    typedef TypeError_ptr _ptr_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */


    TypeError (void); // default ctor
    TypeError (const TypeError &); // copy ctor
    ~TypeError (void); // dtor
    TypeError &operator= (const TypeError &);


    virtual void _raise (void);

    virtual void _tao_encode (
        TAO_OutputCDR &,
        CORBA::Environment &) const;
    virtual void _tao_decode (
        TAO_InputCDR &,
        CORBA::Environment &);

    static TypeError *_narrow (CORBA::Exception *);


    // = TAO extension
    static CORBA::Exception *_alloc (void);

  }; // exception CosEventChannelAdmin::TypeError

    TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_TypeError;


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___PTR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___PTR_CH_

  class ProxyPushConsumer;
  typedef ProxyPushConsumer *ProxyPushConsumer_ptr;
  
#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___VAR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___VAR_CH_

  class TAO_ORBSVCS_Export ProxyPushConsumer_var
  {
  public:
    ProxyPushConsumer_var (void); // default constructor
    ProxyPushConsumer_var (ProxyPushConsumer_ptr);
    ProxyPushConsumer_var (const ProxyPushConsumer_var &); // copy constructor
    ~ProxyPushConsumer_var (void); // destructor
    
    ProxyPushConsumer_var &operator= (ProxyPushConsumer_ptr);
    ProxyPushConsumer_var &operator= (const ProxyPushConsumer_var &);
    ProxyPushConsumer_ptr operator-> (void) const;
    
    operator const ProxyPushConsumer_ptr &() const;
    operator ProxyPushConsumer_ptr &();
    // in, inout, out, _retn 
    ProxyPushConsumer_ptr in (void) const;
    ProxyPushConsumer_ptr &inout (void);
    ProxyPushConsumer_ptr &out (void);
    ProxyPushConsumer_ptr _retn (void);
    ProxyPushConsumer_ptr ptr (void) const;

  private:
    ProxyPushConsumer_ptr ptr_;
  };


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___OUT_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER___OUT_CH_

  class TAO_ORBSVCS_Export ProxyPushConsumer_out
  {
  public:
    ProxyPushConsumer_out (ProxyPushConsumer_ptr &);
    ProxyPushConsumer_out (ProxyPushConsumer_var &);
    ProxyPushConsumer_out (const ProxyPushConsumer_out &);
    ProxyPushConsumer_out &operator= (const ProxyPushConsumer_out &);
    ProxyPushConsumer_out &operator= (const ProxyPushConsumer_var &);
    ProxyPushConsumer_out &operator= (ProxyPushConsumer_ptr);
    operator ProxyPushConsumer_ptr &();
    ProxyPushConsumer_ptr &ptr (void);
    ProxyPushConsumer_ptr operator-> (void);
    
  private:
    ProxyPushConsumer_ptr &ptr_;
  };


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER_CH_

class TAO_ORBSVCS_Export ProxyPushConsumer: public virtual CosEventComm::PushConsumer
  {
  public:
  #if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
    typedef ProxyPushConsumer_ptr _ptr_type;
    typedef ProxyPushConsumer_var _var_type;
  #endif /* ! __GNUC__ || g++ >= 2.8 */

    // the static operations
    static ProxyPushConsumer_ptr _duplicate (ProxyPushConsumer_ptr obj);
    static ProxyPushConsumer_ptr _narrow (
        CORBA::Object_ptr obj,
        CORBA::Environment &env = 
          TAO_default_environment ()
      );
    static ProxyPushConsumer_ptr _unchecked_narrow (
        CORBA::Object_ptr obj,
        CORBA::Environment &env = 
          TAO_default_environment ()
      );
    static ProxyPushConsumer_ptr _nil (void)
      {
        return (ProxyPushConsumer_ptr)0;
      }

    virtual void connect_push_supplier (
        CosEventComm::PushSupplier_ptr push_supplier,
        CORBA::Environment &ACE_TRY_ENV = 
          TAO_default_environment ()
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        CosEventChannelAdmin::AlreadyConnected
      ));

    virtual CORBA::Boolean _is_a (
        const CORBA::Char *type_id, 
        CORBA::Environment &env = 
          TAO_default_environment ()
      );
    virtual const char* _interface_repository_id (void) const;

  protected:
    ProxyPushConsumer (void);
    ProxyPushConsumer (TAO_Stub *objref, 
        TAO_ServantBase *_tao_servant = 0, 
        CORBA::Boolean _tao_collocated = 0
      );
    virtual ~ProxyPushConsumer (void);
  private:
    ProxyPushConsumer (const ProxyPushConsumer &);
    void operator= (const ProxyPushConsumer &);
};

class TAO_CosEventChannelAdmin_ProxyPushConsumer_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_ProxyPushConsumer_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_ProxyPushConsumer_Default_Proxy_Factory (void);
  
  virtual ProxyPushConsumer_ptr create_proxy (
      ProxyPushConsumer_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_ProxyPushConsumer_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  ProxyPushConsumer_ptr create_proxy (
      ProxyPushConsumer_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_ProxyPushConsumer_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPushConsumer_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_ProxyPushConsumer_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_ProxyPushConsumer_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, ProxyPushConsumer)
  {
  public:
    TAO_CosEventChannelAdmin_ProxyPushConsumer_Smart_Proxy_Base (::CosEventChannelAdmin::ProxyPushConsumer_ptr proxy);
    ~TAO_CosEventChannelAdmin_ProxyPushConsumer_Smart_Proxy_Base (void);
      virtual void connect_push_supplier (
      CosEventComm::PushSupplier_ptr push_supplier,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected
    ));

private:
  ::CosEventChannelAdmin::ProxyPushConsumer_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ProxyPushConsumer;


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___PTR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___PTR_CH_

class ProxyPullSupplier;
typedef ProxyPullSupplier *ProxyPullSupplier_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___VAR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___VAR_CH_

class TAO_ORBSVCS_Export ProxyPullSupplier_var
{
public:
  ProxyPullSupplier_var (void); // default constructor
  ProxyPullSupplier_var (ProxyPullSupplier_ptr);
  ProxyPullSupplier_var (const ProxyPullSupplier_var &); // copy constructor
  ~ProxyPullSupplier_var (void); // destructor
  
  ProxyPullSupplier_var &operator= (ProxyPullSupplier_ptr);
  ProxyPullSupplier_var &operator= (const ProxyPullSupplier_var &);
  ProxyPullSupplier_ptr operator-> (void) const;
  
  operator const ProxyPullSupplier_ptr &() const;
  operator ProxyPullSupplier_ptr &();
  // in, inout, out, _retn 
  ProxyPullSupplier_ptr in (void) const;
  ProxyPullSupplier_ptr &inout (void);
  ProxyPullSupplier_ptr &out (void);
  ProxyPullSupplier_ptr _retn (void);
  ProxyPullSupplier_ptr ptr (void) const;

private:
  ProxyPullSupplier_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___OUT_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER___OUT_CH_

class TAO_ORBSVCS_Export ProxyPullSupplier_out
{
public:
  ProxyPullSupplier_out (ProxyPullSupplier_ptr &);
  ProxyPullSupplier_out (ProxyPullSupplier_var &);
  ProxyPullSupplier_out (const ProxyPullSupplier_out &);
  ProxyPullSupplier_out &operator= (const ProxyPullSupplier_out &);
  ProxyPullSupplier_out &operator= (const ProxyPullSupplier_var &);
  ProxyPullSupplier_out &operator= (ProxyPullSupplier_ptr);
  operator ProxyPullSupplier_ptr &();
  ProxyPullSupplier_ptr &ptr (void);
  ProxyPullSupplier_ptr operator-> (void);
  
private:
  ProxyPullSupplier_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER_CH_

class TAO_ORBSVCS_Export ProxyPullSupplier: public virtual CosEventComm::PullSupplier
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef ProxyPullSupplier_ptr _ptr_type;
  typedef ProxyPullSupplier_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static ProxyPullSupplier_ptr _duplicate (ProxyPullSupplier_ptr obj);
  static ProxyPullSupplier_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPullSupplier_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPullSupplier_ptr _nil (void)
    {
      return (ProxyPullSupplier_ptr)0;
    }

  virtual void connect_pull_consumer (
      CosEventComm::PullConsumer_ptr pull_consumer,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  ProxyPullSupplier (void);
  ProxyPullSupplier (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~ProxyPullSupplier (void);
private:
  ProxyPullSupplier (const ProxyPullSupplier &);
  void operator= (const ProxyPullSupplier &);
};

class TAO_CosEventChannelAdmin_ProxyPullSupplier_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_ProxyPullSupplier_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_ProxyPullSupplier_Default_Proxy_Factory (void);
  
  virtual ProxyPullSupplier_ptr create_proxy (
      ProxyPullSupplier_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_ProxyPullSupplier_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  ProxyPullSupplier_ptr create_proxy (
      ProxyPullSupplier_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_ProxyPullSupplier_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPullSupplier_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_ProxyPullSupplier_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_ProxyPullSupplier_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, ProxyPullSupplier)
  {
  public:
    TAO_CosEventChannelAdmin_ProxyPullSupplier_Smart_Proxy_Base (::CosEventChannelAdmin::ProxyPullSupplier_ptr proxy);
    ~TAO_CosEventChannelAdmin_ProxyPullSupplier_Smart_Proxy_Base (void);
      virtual void connect_pull_consumer (
      CosEventComm::PullConsumer_ptr pull_consumer,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected
    ));

private:
  ::CosEventChannelAdmin::ProxyPullSupplier_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ProxyPullSupplier;


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___PTR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___PTR_CH_

class ProxyPullConsumer;
typedef ProxyPullConsumer *ProxyPullConsumer_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___VAR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___VAR_CH_

class TAO_ORBSVCS_Export ProxyPullConsumer_var
{
public:
  ProxyPullConsumer_var (void); // default constructor
  ProxyPullConsumer_var (ProxyPullConsumer_ptr);
  ProxyPullConsumer_var (const ProxyPullConsumer_var &); // copy constructor
  ~ProxyPullConsumer_var (void); // destructor
  
  ProxyPullConsumer_var &operator= (ProxyPullConsumer_ptr);
  ProxyPullConsumer_var &operator= (const ProxyPullConsumer_var &);
  ProxyPullConsumer_ptr operator-> (void) const;
  
  operator const ProxyPullConsumer_ptr &() const;
  operator ProxyPullConsumer_ptr &();
  // in, inout, out, _retn 
  ProxyPullConsumer_ptr in (void) const;
  ProxyPullConsumer_ptr &inout (void);
  ProxyPullConsumer_ptr &out (void);
  ProxyPullConsumer_ptr _retn (void);
  ProxyPullConsumer_ptr ptr (void) const;

private:
  ProxyPullConsumer_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___OUT_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLCONSUMER___OUT_CH_

class TAO_ORBSVCS_Export ProxyPullConsumer_out
{
public:
  ProxyPullConsumer_out (ProxyPullConsumer_ptr &);
  ProxyPullConsumer_out (ProxyPullConsumer_var &);
  ProxyPullConsumer_out (const ProxyPullConsumer_out &);
  ProxyPullConsumer_out &operator= (const ProxyPullConsumer_out &);
  ProxyPullConsumer_out &operator= (const ProxyPullConsumer_var &);
  ProxyPullConsumer_out &operator= (ProxyPullConsumer_ptr);
  operator ProxyPullConsumer_ptr &();
  ProxyPullConsumer_ptr &ptr (void);
  ProxyPullConsumer_ptr operator-> (void);
  
private:
  ProxyPullConsumer_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLCONSUMER_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPULLCONSUMER_CH_

class TAO_ORBSVCS_Export ProxyPullConsumer: public virtual CosEventComm::PullConsumer
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef ProxyPullConsumer_ptr _ptr_type;
  typedef ProxyPullConsumer_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static ProxyPullConsumer_ptr _duplicate (ProxyPullConsumer_ptr obj);
  static ProxyPullConsumer_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPullConsumer_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPullConsumer_ptr _nil (void)
    {
      return (ProxyPullConsumer_ptr)0;
    }

  virtual void connect_pull_supplier (
      CosEventComm::PullSupplier_ptr pull_supplier,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected,
      CosEventChannelAdmin::TypeError
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  ProxyPullConsumer (void);
  ProxyPullConsumer (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~ProxyPullConsumer (void);
private:
  ProxyPullConsumer (const ProxyPullConsumer &);
  void operator= (const ProxyPullConsumer &);
};

class TAO_CosEventChannelAdmin_ProxyPullConsumer_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_ProxyPullConsumer_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_ProxyPullConsumer_Default_Proxy_Factory (void);
  
  virtual ProxyPullConsumer_ptr create_proxy (
      ProxyPullConsumer_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_ProxyPullConsumer_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  ProxyPullConsumer_ptr create_proxy (
      ProxyPullConsumer_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_ProxyPullConsumer_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPullConsumer_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_ProxyPullConsumer_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_ProxyPullConsumer_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, ProxyPullConsumer)
  {
  public:
    TAO_CosEventChannelAdmin_ProxyPullConsumer_Smart_Proxy_Base (::CosEventChannelAdmin::ProxyPullConsumer_ptr proxy);
    ~TAO_CosEventChannelAdmin_ProxyPullConsumer_Smart_Proxy_Base (void);
      virtual void connect_pull_supplier (
      CosEventComm::PullSupplier_ptr pull_supplier,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected,
      CosEventChannelAdmin::TypeError
    ));

private:
  ::CosEventChannelAdmin::ProxyPullConsumer_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ProxyPullConsumer;


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___PTR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___PTR_CH_

class ProxyPushSupplier;
typedef ProxyPushSupplier *ProxyPushSupplier_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___VAR_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___VAR_CH_

class TAO_ORBSVCS_Export ProxyPushSupplier_var
{
public:
  ProxyPushSupplier_var (void); // default constructor
  ProxyPushSupplier_var (ProxyPushSupplier_ptr);
  ProxyPushSupplier_var (const ProxyPushSupplier_var &); // copy constructor
  ~ProxyPushSupplier_var (void); // destructor
  
  ProxyPushSupplier_var &operator= (ProxyPushSupplier_ptr);
  ProxyPushSupplier_var &operator= (const ProxyPushSupplier_var &);
  ProxyPushSupplier_ptr operator-> (void) const;
  
  operator const ProxyPushSupplier_ptr &() const;
  operator ProxyPushSupplier_ptr &();
  // in, inout, out, _retn 
  ProxyPushSupplier_ptr in (void) const;
  ProxyPushSupplier_ptr &inout (void);
  ProxyPushSupplier_ptr &out (void);
  ProxyPushSupplier_ptr _retn (void);
  ProxyPushSupplier_ptr ptr (void) const;

private:
  ProxyPushSupplier_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___OUT_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER___OUT_CH_

class TAO_ORBSVCS_Export ProxyPushSupplier_out
{
public:
  ProxyPushSupplier_out (ProxyPushSupplier_ptr &);
  ProxyPushSupplier_out (ProxyPushSupplier_var &);
  ProxyPushSupplier_out (const ProxyPushSupplier_out &);
  ProxyPushSupplier_out &operator= (const ProxyPushSupplier_out &);
  ProxyPushSupplier_out &operator= (const ProxyPushSupplier_var &);
  ProxyPushSupplier_out &operator= (ProxyPushSupplier_ptr);
  operator ProxyPushSupplier_ptr &();
  ProxyPushSupplier_ptr &ptr (void);
  ProxyPushSupplier_ptr operator-> (void);
  
private:
  ProxyPushSupplier_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER_CH_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER_CH_

class TAO_ORBSVCS_Export ProxyPushSupplier: public virtual CosEventComm::PushSupplier
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef ProxyPushSupplier_ptr _ptr_type;
  typedef ProxyPushSupplier_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static ProxyPushSupplier_ptr _duplicate (ProxyPushSupplier_ptr obj);
  static ProxyPushSupplier_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPushSupplier_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ProxyPushSupplier_ptr _nil (void)
    {
      return (ProxyPushSupplier_ptr)0;
    }

  virtual void connect_push_consumer (
      CosEventComm::PushConsumer_ptr push_consumer,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected,
      CosEventChannelAdmin::TypeError
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  ProxyPushSupplier (void);
  ProxyPushSupplier (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~ProxyPushSupplier (void);
private:
  ProxyPushSupplier (const ProxyPushSupplier &);
  void operator= (const ProxyPushSupplier &);
};

class TAO_CosEventChannelAdmin_ProxyPushSupplier_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_ProxyPushSupplier_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_ProxyPushSupplier_Default_Proxy_Factory (void);
  
  virtual ProxyPushSupplier_ptr create_proxy (
      ProxyPushSupplier_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_ProxyPushSupplier_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  ProxyPushSupplier_ptr create_proxy (
      ProxyPushSupplier_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_ProxyPushSupplier_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_ProxyPushSupplier_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_ProxyPushSupplier_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_ProxyPushSupplier_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, ProxyPushSupplier)
  {
  public:
    TAO_CosEventChannelAdmin_ProxyPushSupplier_Smart_Proxy_Base (::CosEventChannelAdmin::ProxyPushSupplier_ptr proxy);
    ~TAO_CosEventChannelAdmin_ProxyPushSupplier_Smart_Proxy_Base (void);
      virtual void connect_push_consumer (
      CosEventComm::PushConsumer_ptr push_consumer,
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException,
      CosEventChannelAdmin::AlreadyConnected,
      CosEventChannelAdmin::TypeError
    ));

private:
  ::CosEventChannelAdmin::ProxyPushSupplier_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ProxyPushSupplier;


#if !defined (_COSEVENTCHANNELADMIN_CONSUMERADMIN___PTR_CH_)
#define _COSEVENTCHANNELADMIN_CONSUMERADMIN___PTR_CH_

class ConsumerAdmin;
typedef ConsumerAdmin *ConsumerAdmin_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_CONSUMERADMIN___VAR_CH_)
#define _COSEVENTCHANNELADMIN_CONSUMERADMIN___VAR_CH_

class TAO_ORBSVCS_Export ConsumerAdmin_var
{
public:
  ConsumerAdmin_var (void); // default constructor
  ConsumerAdmin_var (ConsumerAdmin_ptr);
  ConsumerAdmin_var (const ConsumerAdmin_var &); // copy constructor
  ~ConsumerAdmin_var (void); // destructor
  
  ConsumerAdmin_var &operator= (ConsumerAdmin_ptr);
  ConsumerAdmin_var &operator= (const ConsumerAdmin_var &);
  ConsumerAdmin_ptr operator-> (void) const;
  
  operator const ConsumerAdmin_ptr &() const;
  operator ConsumerAdmin_ptr &();
  // in, inout, out, _retn 
  ConsumerAdmin_ptr in (void) const;
  ConsumerAdmin_ptr &inout (void);
  ConsumerAdmin_ptr &out (void);
  ConsumerAdmin_ptr _retn (void);
  ConsumerAdmin_ptr ptr (void) const;

private:
  ConsumerAdmin_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_CONSUMERADMIN___OUT_CH_)
#define _COSEVENTCHANNELADMIN_CONSUMERADMIN___OUT_CH_

class TAO_ORBSVCS_Export ConsumerAdmin_out
{
public:
  ConsumerAdmin_out (ConsumerAdmin_ptr &);
  ConsumerAdmin_out (ConsumerAdmin_var &);
  ConsumerAdmin_out (const ConsumerAdmin_out &);
  ConsumerAdmin_out &operator= (const ConsumerAdmin_out &);
  ConsumerAdmin_out &operator= (const ConsumerAdmin_var &);
  ConsumerAdmin_out &operator= (ConsumerAdmin_ptr);
  operator ConsumerAdmin_ptr &();
  ConsumerAdmin_ptr &ptr (void);
  ConsumerAdmin_ptr operator-> (void);
  
private:
  ConsumerAdmin_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_CONSUMERADMIN_CH_)
#define _COSEVENTCHANNELADMIN_CONSUMERADMIN_CH_

class TAO_ORBSVCS_Export ConsumerAdmin : public virtual ACE_CORBA_1 (Object)
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef ConsumerAdmin_ptr _ptr_type;
  typedef ConsumerAdmin_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static ConsumerAdmin_ptr _duplicate (ConsumerAdmin_ptr obj);
  static ConsumerAdmin_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ConsumerAdmin_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static ConsumerAdmin_ptr _nil (void)
    {
      return (ConsumerAdmin_ptr)0;
    }

  virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  ConsumerAdmin (void);
  ConsumerAdmin (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~ConsumerAdmin (void);
private:
  ConsumerAdmin (const ConsumerAdmin &);
  void operator= (const ConsumerAdmin &);
};

class TAO_CosEventChannelAdmin_ConsumerAdmin_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_ConsumerAdmin_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_ConsumerAdmin_Default_Proxy_Factory (void);
  
  virtual ConsumerAdmin_ptr create_proxy (
      ConsumerAdmin_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_ConsumerAdmin_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  ConsumerAdmin_ptr create_proxy (
      ConsumerAdmin_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_ConsumerAdmin_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_ConsumerAdmin_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_ConsumerAdmin_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_ConsumerAdmin_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, ConsumerAdmin)
  {
  public:
    TAO_CosEventChannelAdmin_ConsumerAdmin_Smart_Proxy_Base (::CosEventChannelAdmin::ConsumerAdmin_ptr proxy);
    ~TAO_CosEventChannelAdmin_ConsumerAdmin_Smart_Proxy_Base (void);
      virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

private:
  ::CosEventChannelAdmin::ConsumerAdmin_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ConsumerAdmin;


#if !defined (_COSEVENTCHANNELADMIN_SUPPLIERADMIN___PTR_CH_)
#define _COSEVENTCHANNELADMIN_SUPPLIERADMIN___PTR_CH_

class SupplierAdmin;
typedef SupplierAdmin *SupplierAdmin_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_SUPPLIERADMIN___VAR_CH_)
#define _COSEVENTCHANNELADMIN_SUPPLIERADMIN___VAR_CH_

class TAO_ORBSVCS_Export SupplierAdmin_var
{
public:
  SupplierAdmin_var (void); // default constructor
  SupplierAdmin_var (SupplierAdmin_ptr);
  SupplierAdmin_var (const SupplierAdmin_var &); // copy constructor
  ~SupplierAdmin_var (void); // destructor
  
  SupplierAdmin_var &operator= (SupplierAdmin_ptr);
  SupplierAdmin_var &operator= (const SupplierAdmin_var &);
  SupplierAdmin_ptr operator-> (void) const;
  
  operator const SupplierAdmin_ptr &() const;
  operator SupplierAdmin_ptr &();
  // in, inout, out, _retn 
  SupplierAdmin_ptr in (void) const;
  SupplierAdmin_ptr &inout (void);
  SupplierAdmin_ptr &out (void);
  SupplierAdmin_ptr _retn (void);
  SupplierAdmin_ptr ptr (void) const;

private:
  SupplierAdmin_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_SUPPLIERADMIN___OUT_CH_)
#define _COSEVENTCHANNELADMIN_SUPPLIERADMIN___OUT_CH_

class TAO_ORBSVCS_Export SupplierAdmin_out
{
public:
  SupplierAdmin_out (SupplierAdmin_ptr &);
  SupplierAdmin_out (SupplierAdmin_var &);
  SupplierAdmin_out (const SupplierAdmin_out &);
  SupplierAdmin_out &operator= (const SupplierAdmin_out &);
  SupplierAdmin_out &operator= (const SupplierAdmin_var &);
  SupplierAdmin_out &operator= (SupplierAdmin_ptr);
  operator SupplierAdmin_ptr &();
  SupplierAdmin_ptr &ptr (void);
  SupplierAdmin_ptr operator-> (void);
  
private:
  SupplierAdmin_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_SUPPLIERADMIN_CH_)
#define _COSEVENTCHANNELADMIN_SUPPLIERADMIN_CH_

class TAO_ORBSVCS_Export SupplierAdmin : public virtual ACE_CORBA_1 (Object)
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef SupplierAdmin_ptr _ptr_type;
  typedef SupplierAdmin_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static SupplierAdmin_ptr _duplicate (SupplierAdmin_ptr obj);
  static SupplierAdmin_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static SupplierAdmin_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static SupplierAdmin_ptr _nil (void)
    {
      return (SupplierAdmin_ptr)0;
    }

  virtual CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  SupplierAdmin (void);
  SupplierAdmin (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~SupplierAdmin (void);
private:
  SupplierAdmin (const SupplierAdmin &);
  void operator= (const SupplierAdmin &);
};

class TAO_CosEventChannelAdmin_SupplierAdmin_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_SupplierAdmin_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_SupplierAdmin_Default_Proxy_Factory (void);
  
  virtual SupplierAdmin_ptr create_proxy (
      SupplierAdmin_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_SupplierAdmin_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  SupplierAdmin_ptr create_proxy (
      SupplierAdmin_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_SupplierAdmin_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_SupplierAdmin_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_SupplierAdmin_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_SupplierAdmin_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, SupplierAdmin)
  {
  public:
    TAO_CosEventChannelAdmin_SupplierAdmin_Smart_Proxy_Base (::CosEventChannelAdmin::SupplierAdmin_ptr proxy);
    ~TAO_CosEventChannelAdmin_SupplierAdmin_Smart_Proxy_Base (void);
      virtual CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

private:
  ::CosEventChannelAdmin::SupplierAdmin_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_SupplierAdmin;


#if !defined (_COSEVENTCHANNELADMIN_EVENTCHANNEL___PTR_CH_)
#define _COSEVENTCHANNELADMIN_EVENTCHANNEL___PTR_CH_

class EventChannel;
typedef EventChannel *EventChannel_ptr;

#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_EVENTCHANNEL___VAR_CH_)
#define _COSEVENTCHANNELADMIN_EVENTCHANNEL___VAR_CH_

class TAO_ORBSVCS_Export EventChannel_var
{
public:
  EventChannel_var (void); // default constructor
  EventChannel_var (EventChannel_ptr);
  EventChannel_var (const EventChannel_var &); // copy constructor
  ~EventChannel_var (void); // destructor
  
  EventChannel_var &operator= (EventChannel_ptr);
  EventChannel_var &operator= (const EventChannel_var &);
  EventChannel_ptr operator-> (void) const;
  
  operator const EventChannel_ptr &() const;
  operator EventChannel_ptr &();
  // in, inout, out, _retn 
  EventChannel_ptr in (void) const;
  EventChannel_ptr &inout (void);
  EventChannel_ptr &out (void);
  EventChannel_ptr _retn (void);
  EventChannel_ptr ptr (void) const;

private:
  EventChannel_ptr ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_EVENTCHANNEL___OUT_CH_)
#define _COSEVENTCHANNELADMIN_EVENTCHANNEL___OUT_CH_

class TAO_ORBSVCS_Export EventChannel_out
{
public:
  EventChannel_out (EventChannel_ptr &);
  EventChannel_out (EventChannel_var &);
  EventChannel_out (const EventChannel_out &);
  EventChannel_out &operator= (const EventChannel_out &);
  EventChannel_out &operator= (const EventChannel_var &);
  EventChannel_out &operator= (EventChannel_ptr);
  operator EventChannel_ptr &();
  EventChannel_ptr &ptr (void);
  EventChannel_ptr operator-> (void);
  
private:
  EventChannel_ptr &ptr_;
};


#endif /* end #if !defined */


#if !defined (_COSEVENTCHANNELADMIN_EVENTCHANNEL_CH_)
#define _COSEVENTCHANNELADMIN_EVENTCHANNEL_CH_

class TAO_ORBSVCS_Export EventChannel : public virtual ACE_CORBA_1 (Object)
{
public:
#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8)
  typedef EventChannel_ptr _ptr_type;
  typedef EventChannel_var _var_type;
#endif /* ! __GNUC__ || g++ >= 2.8 */

  // the static operations
  static EventChannel_ptr _duplicate (EventChannel_ptr obj);
  static EventChannel_ptr _narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static EventChannel_ptr _unchecked_narrow (
      CORBA::Object_ptr obj,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  static EventChannel_ptr _nil (void)
    {
      return (EventChannel_ptr)0;
    }

  virtual CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual void destroy (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CORBA::Boolean _is_a (
      const CORBA::Char *type_id, 
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  virtual const char* _interface_repository_id (void) const;

protected:
  EventChannel (void);
  EventChannel (TAO_Stub *objref, 
      TAO_ServantBase *_tao_servant = 0, 
      CORBA::Boolean _tao_collocated = 0
    );
  virtual ~EventChannel (void);
private:
  EventChannel (const EventChannel &);
  void operator= (const EventChannel &);
};

class TAO_CosEventChannelAdmin_EventChannel_Default_Proxy_Factory
{
public:
  
  TAO_CosEventChannelAdmin_EventChannel_Default_Proxy_Factory (int register_proxy_factory = 1);
  
  virtual ~TAO_CosEventChannelAdmin_EventChannel_Default_Proxy_Factory (void);
  
  virtual EventChannel_ptr create_proxy (
      EventChannel_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
};

class TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter
{
public:
  
  friend class ACE_Singleton<TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>;
  
  int register_proxy_factory (
      TAO_CosEventChannelAdmin_EventChannel_Default_Proxy_Factory *df,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  int unregister_proxy_factory (
      CORBA::Environment &env = 
        TAO_default_environment ()
    );
  
  EventChannel_ptr create_proxy (
      EventChannel_ptr proxy,
      CORBA::Environment &env = 
        TAO_default_environment ()
    );

protected:
  TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter (void);
  ~TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter (void);
  TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter &operator= (
      const TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter &
    );
  TAO_CosEventChannelAdmin_EventChannel_Default_Proxy_Factory *proxy_factory_;
  int delete_proxy_factory_;
  ACE_SYNCH_RECURSIVE_MUTEX lock_;
  };

  typedef ACE_Singleton<TAO_CosEventChannelAdmin_EventChannel_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CosEventChannelAdmin_EventChannel_PROXY_FACTORY_ADAPTER;
  class TAO_CosEventChannelAdmin_EventChannel_Smart_Proxy_Base : public virtual ACE_NESTED_CLASS (CosEventChannelAdmin, EventChannel)
  {
  public:
    TAO_CosEventChannelAdmin_EventChannel_Smart_Proxy_Base (::CosEventChannelAdmin::EventChannel_ptr proxy);
    ~TAO_CosEventChannelAdmin_EventChannel_Smart_Proxy_Base (void);
      virtual CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

  virtual void destroy (
      CORBA::Environment &ACE_TRY_ENV = 
        TAO_default_environment ()
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ));

private:
  ::CosEventChannelAdmin::EventChannel_var base_proxy_;
};


#endif /* end #if !defined */

TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_EventChannel;


}
TAO_NAMESPACE_CLOSE // module CosEventChannelAdmin

TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, const CosEventChannelAdmin::AlreadyConnected &); // copying version
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::AlreadyConnected*); // noncopying version
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::AlreadyConnected *&); // deprecated
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CosEventChannelAdmin::AlreadyConnected *&);
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, const CosEventChannelAdmin::TypeError &); // copying version
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::TypeError*); // noncopying version
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::TypeError *&); // deprecated
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CosEventChannelAdmin::TypeError *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::ProxyPushConsumer_ptr (*_TAO_collocation_CosEventChannelAdmin_ProxyPushConsumer_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::ProxyPushConsumer
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::ProxyPushConsumer_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::ProxyPushConsumer *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::ProxyPullSupplier_ptr (*_TAO_collocation_CosEventChannelAdmin_ProxyPullSupplier_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::ProxyPullSupplier
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::ProxyPullSupplier_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::ProxyPullSupplier *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::ProxyPullConsumer_ptr (*_TAO_collocation_CosEventChannelAdmin_ProxyPullConsumer_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::ProxyPullConsumer
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::ProxyPullConsumer_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::ProxyPullConsumer *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::ProxyPushSupplier_ptr (*_TAO_collocation_CosEventChannelAdmin_ProxyPushSupplier_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::ProxyPushSupplier
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::ProxyPushSupplier_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::ProxyPushSupplier *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::ConsumerAdmin_ptr (*_TAO_collocation_CosEventChannelAdmin_ConsumerAdmin_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::ConsumerAdmin
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::ConsumerAdmin_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::ConsumerAdmin *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::SupplierAdmin_ptr (*_TAO_collocation_CosEventChannelAdmin_SupplierAdmin_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::SupplierAdmin
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::SupplierAdmin_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::SupplierAdmin *&);
extern TAO_ORBSVCS_Export CosEventChannelAdmin::EventChannel_ptr (*_TAO_collocation_CosEventChannelAdmin_EventChannel_Stub_Factory_function_pointer) (
    CORBA::Object_ptr obj
  );
// Any operators for interface CosEventChannelAdmin::EventChannel
TAO_ORBSVCS_Export void operator<<= (CORBA::Any &, CosEventChannelAdmin::EventChannel_ptr);
TAO_ORBSVCS_Export CORBA::Boolean operator>>= (const CORBA::Any &, CosEventChannelAdmin::EventChannel *&);

#ifndef __ACE_INLINE__

TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::AlreadyConnected &);
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::AlreadyConnected &);

# if !defined (ACE_LACKS_IOSTREAM_TOTALLY)

TAO_ORBSVCS_Export ostream& operator<< (ostream &, const CosEventChannelAdmin::AlreadyConnected &);

# endif /* ACE_LACKS_IOSTREAM_TOTALLY */
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::TypeError &);
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::TypeError &);

# if !defined (ACE_LACKS_IOSTREAM_TOTALLY)

TAO_ORBSVCS_Export ostream& operator<< (ostream &, const CosEventChannelAdmin::TypeError &);

# endif /* ACE_LACKS_IOSTREAM_TOTALLY */
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::ProxyPushConsumer_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::ProxyPushConsumer_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::ProxyPullSupplier_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::ProxyPullSupplier_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::ProxyPullConsumer_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::ProxyPullConsumer_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::ProxyPushSupplier_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::ProxyPushSupplier_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::ConsumerAdmin_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::ConsumerAdmin_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::SupplierAdmin_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::SupplierAdmin_ptr &);
TAO_ORBSVCS_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CosEventChannelAdmin::EventChannel_ptr );
TAO_ORBSVCS_Export CORBA::Boolean operator>> (TAO_InputCDR &, CosEventChannelAdmin::EventChannel_ptr &);

#endif /* __ACE_INLINE__ */


#if defined (__ACE_INLINE__)
#include "CosEventChannelAdminC.i"
#endif /* defined INLINE */

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */

#endif /* ifndef */
