// -*- C++ -*-
/**
 * Code generated by the The ACE ORB (TAO) IDL Compiler v3.0.5
 * 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.cpp58682

#ifndef _TAO_IDL_COSEVENTCOMMS_T_L9IF36_CPP_
#define _TAO_IDL_COSEVENTCOMMS_T_L9IF36_CPP_

#include "CosEventCommS_T.h"

TAO_BEGIN_VERSIONED_NAMESPACE_DECL


// 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_ss.cpp5878

template <class T>
POA_CosEventComm::PushConsumer_tie<T>::PushConsumer_tie (T &t)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PushConsumer_tie<T>::PushConsumer_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PushConsumer_tie<T>::PushConsumer_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PushConsumer_tie<T>::PushConsumer_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PushConsumer_tie<T>::~PushConsumer_tie ()
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CosEventComm::PushConsumer_tie<T>::_tied_object ()
{
  return this->ptr_;
}

template <class T> void
POA_CosEventComm::PushConsumer_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = std::addressof(obj);
  this->rel_ = false;
}

template <class T> void
POA_CosEventComm::PushConsumer_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CosEventComm::PushConsumer_tie<T>::_is_owner ()
{
  return this->rel_;
}

template <class T> void
POA_CosEventComm::PushConsumer_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CosEventComm::PushConsumer_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PushConsumer::_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_ss.cpp5891

template <class T>
void POA_CosEventComm::PushConsumer_tie<T>::push  (
  const ::CORBA::Any & data)
{
  this->ptr_->push (
    data
  );
}
// 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_ss.cpp5891

template <class T>
void POA_CosEventComm::PushConsumer_tie<T>::disconnect_push_consumer  ()
{
  this->ptr_->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_interface/tie_ss.cpp5878

template <class T>
POA_CosEventComm::PushSupplier_tie<T>::PushSupplier_tie (T &t)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PushSupplier_tie<T>::PushSupplier_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PushSupplier_tie<T>::PushSupplier_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PushSupplier_tie<T>::PushSupplier_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PushSupplier_tie<T>::~PushSupplier_tie ()
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CosEventComm::PushSupplier_tie<T>::_tied_object ()
{
  return this->ptr_;
}

template <class T> void
POA_CosEventComm::PushSupplier_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = std::addressof(obj);
  this->rel_ = false;
}

template <class T> void
POA_CosEventComm::PushSupplier_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CosEventComm::PushSupplier_tie<T>::_is_owner ()
{
  return this->rel_;
}

template <class T> void
POA_CosEventComm::PushSupplier_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CosEventComm::PushSupplier_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PushSupplier::_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_ss.cpp5891

template <class T>
void POA_CosEventComm::PushSupplier_tie<T>::disconnect_push_supplier  ()
{
  this->ptr_->disconnect_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_interface/tie_ss.cpp5878

template <class T>
POA_CosEventComm::PullConsumer_tie<T>::PullConsumer_tie (T &t)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PullConsumer_tie<T>::PullConsumer_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PullConsumer_tie<T>::PullConsumer_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PullConsumer_tie<T>::PullConsumer_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PullConsumer_tie<T>::~PullConsumer_tie ()
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CosEventComm::PullConsumer_tie<T>::_tied_object ()
{
  return this->ptr_;
}

template <class T> void
POA_CosEventComm::PullConsumer_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = std::addressof(obj);
  this->rel_ = false;
}

template <class T> void
POA_CosEventComm::PullConsumer_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CosEventComm::PullConsumer_tie<T>::_is_owner ()
{
  return this->rel_;
}

template <class T> void
POA_CosEventComm::PullConsumer_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CosEventComm::PullConsumer_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PullConsumer::_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_ss.cpp5891

template <class T>
void POA_CosEventComm::PullConsumer_tie<T>::disconnect_pull_consumer  ()
{
  this->ptr_->disconnect_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_interface/tie_ss.cpp5878

template <class T>
POA_CosEventComm::PullSupplier_tie<T>::PullSupplier_tie (T &t)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PullSupplier_tie<T>::PullSupplier_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (std::addressof(t)),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CosEventComm::PullSupplier_tie<T>::PullSupplier_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PullSupplier_tie<T>::PullSupplier_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CosEventComm::PullSupplier_tie<T>::~PullSupplier_tie ()
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CosEventComm::PullSupplier_tie<T>::_tied_object ()
{
  return this->ptr_;
}

template <class T> void
POA_CosEventComm::PullSupplier_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = std::addressof(obj);
  this->rel_ = false;
}

template <class T> void
POA_CosEventComm::PullSupplier_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CosEventComm::PullSupplier_tie<T>::_is_owner ()
{
  return this->rel_;
}

template <class T> void
POA_CosEventComm::PullSupplier_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CosEventComm::PullSupplier_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PullSupplier::_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_ss.cpp5891

template <class T>
::CORBA::Any * POA_CosEventComm::PullSupplier_tie<T>::pull  ()
{
  return this->ptr_->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_ss.cpp5891

template <class T>
::CORBA::Any * POA_CosEventComm::PullSupplier_tie<T>::try_pull  (
  ::CORBA::Boolean_out has_event)
{
  return this->ptr_->try_pull (
    has_event
  );
}
// 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_ss.cpp5891

template <class T>
void POA_CosEventComm::PullSupplier_tie<T>::disconnect_pull_supplier  ()
{
  this->ptr_->disconnect_pull_supplier (
  );
}

TAO_END_VERSIONED_NAMESPACE_DECL


#endif /* ifndef */

