// -*- C++ -*-
/**
 * Code generated by the The ACE ORB (TAO) IDL Compiler v4.0.0
 * TAO and the TAO IDL Compiler have been developed by:
 *       Center for Distributed Object Computing
 *       Washington University
 *       St. Louis, MO
 *       USA
 * and
 *       Distributed Object Computing Laboratory
 *       University of California at Irvine
 *       Irvine, CA
 *       USA
 * and
 *       Institute for Software Integrated Systems
 *       Vanderbilt University
 *       Nashville, TN
 *       USA
 *       https://www.isis.vanderbilt.edu/
 *
 * Information about TAO is available at:
 *     https://www.dre.vanderbilt.edu/~schmidt/TAO.html
 **/

// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:580

#ifndef _TAO_IDL_COSTYPEDEVENTCHANNELADMINS_T_XU7FAT_H_
#define _TAO_IDL_COSTYPEDEVENTCHANNELADMINS_T_XU7FAT_H_

#include /**/ "ace/pre.h"
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_root/root_sth.cpp:64

namespace POA_CosTypedEventChannelAdmin
{
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp:70

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  TypedProxyPushConsumer_tie : public TypedProxyPushConsumer
  {
  public:
    /// the T& ctor
    TypedProxyPushConsumer_tie (T &t);
    /// ctor taking a POA
    TypedProxyPushConsumer_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    TypedProxyPushConsumer_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    TypedProxyPushConsumer_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true);
    /// dtor
    ~TypedProxyPushConsumer_tie ();
    // TIE specific functions
    /// return the underlying object
    T *_tied_object ();
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner ();
    /// set the ownership

    void _is_owner (::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void push (
      const ::CORBA::Any &);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void disconnect_push_consumer ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void connect_push_supplier (
      ::CosEventComm::PushSupplier_ptr);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CORBA::Object_ptr get_typed_consumer ();
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    TypedProxyPushConsumer_tie (const TypedProxyPushConsumer_tie &) = delete;
    void operator= (const TypedProxyPushConsumer_tie &) = delete;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp:70

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  TypedProxyPullSupplier_tie : public TypedProxyPullSupplier
  {
  public:
    /// the T& ctor
    TypedProxyPullSupplier_tie (T &t);
    /// ctor taking a POA
    TypedProxyPullSupplier_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    TypedProxyPullSupplier_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    TypedProxyPullSupplier_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true);
    /// dtor
    ~TypedProxyPullSupplier_tie ();
    // TIE specific functions
    /// return the underlying object
    T *_tied_object ();
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner ();
    /// set the ownership

    void _is_owner (::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CORBA::Any * pull ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CORBA::Any * try_pull (
      ::CORBA::Boolean_out);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void disconnect_pull_supplier ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void connect_pull_consumer (
      ::CosEventComm::PullConsumer_ptr);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CORBA::Object_ptr get_typed_supplier ();
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    TypedProxyPullSupplier_tie (const TypedProxyPullSupplier_tie &) = delete;
    void operator= (const TypedProxyPullSupplier_tie &) = delete;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp:70

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  TypedSupplierAdmin_tie : public TypedSupplierAdmin
  {
  public:
    /// the T& ctor
    TypedSupplierAdmin_tie (T &t);
    /// ctor taking a POA
    TypedSupplierAdmin_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    TypedSupplierAdmin_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    TypedSupplierAdmin_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true);
    /// dtor
    ~TypedSupplierAdmin_tie ();
    // TIE specific functions
    /// return the underlying object
    T *_tied_object ();
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner ();
    /// set the ownership

    void _is_owner (::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr obtain_typed_push_consumer (
      const char *);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_typed_pull_consumer (
      const char *);
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    TypedSupplierAdmin_tie (const TypedSupplierAdmin_tie &) = delete;
    void operator= (const TypedSupplierAdmin_tie &) = delete;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp:70

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  TypedConsumerAdmin_tie : public TypedConsumerAdmin
  {
  public:
    /// the T& ctor
    TypedConsumerAdmin_tie (T &t);
    /// ctor taking a POA
    TypedConsumerAdmin_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    TypedConsumerAdmin_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    TypedConsumerAdmin_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true);
    /// dtor
    ~TypedConsumerAdmin_tie ();
    // TIE specific functions
    /// return the underlying object
    T *_tied_object ();
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner ();
    /// set the ownership

    void _is_owner (::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr obtain_typed_pull_supplier (
      const char *);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_typed_push_supplier (
      const char *);
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    TypedConsumerAdmin_tie (const TypedConsumerAdmin_tie &) = delete;
    void operator= (const TypedConsumerAdmin_tie &) = delete;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp:70

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  TypedEventChannel_tie : public TypedEventChannel
  {
  public:
    /// the T& ctor
    TypedEventChannel_tie (T &t);
    /// ctor taking a POA
    TypedEventChannel_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    TypedEventChannel_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    TypedEventChannel_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true);
    /// dtor
    ~TypedEventChannel_tie ();
    // TIE specific functions
    /// return the underlying object
    T *_tied_object ();
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner ();
    /// set the ownership

    void _is_owner (::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr for_consumers ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    ::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr for_suppliers ();
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_operation/tie_sh.cpp:50

    void destroy ();
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    TypedEventChannel_tie (const TypedEventChannel_tie &) = delete;
    void operator= (const TypedEventChannel_tie &) = delete;
  };
} // module CosTypedEventChannelAdmin
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:1790


#include "CosTypedEventChannelAdminS_T.cpp"

#include /**/ "ace/post.h"
#endif /* ifndef */

