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

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


// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetFactory_tie<T>::PropertySetFactory_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetFactory_tie<T>::PropertySetFactory_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetFactory_tie<T>::~PropertySetFactory_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertySetFactory_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertySetFactory_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertySetFactory_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertySetFactory_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertySetFactory::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySet_ptr POA_CosPropertyService::PropertySetFactory_tie<T>::create_propertyset  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->create_propertyset (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySet_ptr POA_CosPropertyService::PropertySetFactory_tie<T>::create_constrained_propertyset  (
    const ::CosPropertyService::PropertyTypes & allowed_property_types,
    const ::CosPropertyService::Properties & allowed_properties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::ConstraintNotSupported
  ))
{
  return this->ptr_->create_constrained_propertyset (
    allowed_property_types,
    allowed_properties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySet_ptr POA_CosPropertyService::PropertySetFactory_tie<T>::create_initial_propertyset  (
    const ::CosPropertyService::Properties & initial_properties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  return this->ptr_->create_initial_propertyset (
    initial_properties
    ACE_ENV_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDefFactory_tie<T>::PropertySetDefFactory_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDefFactory_tie<T>::PropertySetDefFactory_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDefFactory_tie<T>::~PropertySetDefFactory_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertySetDefFactory_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertySetDefFactory_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertySetDefFactory_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertySetDefFactory_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertySetDefFactory::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySetDef_ptr POA_CosPropertyService::PropertySetDefFactory_tie<T>::create_propertysetdef  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->create_propertysetdef (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySetDef_ptr POA_CosPropertyService::PropertySetDefFactory_tie<T>::create_constrained_propertysetdef  (
    const ::CosPropertyService::PropertyTypes & allowed_property_types,
    const ::CosPropertyService::PropertyDefs & allowed_property_defs
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::ConstraintNotSupported
  ))
{
  return this->ptr_->create_constrained_propertysetdef (
    allowed_property_types,
    allowed_property_defs
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertySetDef_ptr POA_CosPropertyService::PropertySetDefFactory_tie<T>::create_initial_propertysetdef  (
    const ::CosPropertyService::PropertyDefs & initial_property_defs
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  return this->ptr_->create_initial_propertysetdef (
    initial_property_defs
    ACE_ENV_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySet_tie<T>::PropertySet_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySet_tie<T>::PropertySet_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySet_tie<T>::~PropertySet_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertySet_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertySet_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertySet_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertySet_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertySet::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::define_property  (
    const char * property_name,
    const ::CORBA::Any & property_value
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::ConflictingProperty,
    ::CosPropertyService::UnsupportedTypeCode,
    ::CosPropertyService::UnsupportedProperty,
    ::CosPropertyService::ReadOnlyProperty
  ))
{
  this->ptr_->define_property (
    property_name,
    property_value
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::define_properties  (
    const ::CosPropertyService::Properties & nproperties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->define_properties (
    nproperties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::ULong POA_CosPropertyService::PropertySet_tie<T>::get_number_of_properties  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->get_number_of_properties (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::get_all_property_names  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::PropertyNames_out property_names,
    ::CosPropertyService::PropertyNamesIterator_out rest
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_all_property_names (
    how_many,
    property_names,
    rest
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Any * POA_CosPropertyService::PropertySet_tie<T>::get_property_value  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::InvalidPropertyName
  ))
{
  return this->ptr_->get_property_value (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySet_tie<T>::get_properties  (
    const ::CosPropertyService::PropertyNames & property_names,
    ::CosPropertyService::Properties_out nproperties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->get_properties (
    property_names,
    nproperties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::get_all_properties  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::Properties_out nproperties,
    ::CosPropertyService::PropertiesIterator_out rest
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_all_properties (
    how_many,
    nproperties,
    rest
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::delete_property  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::FixedProperty
  ))
{
  this->ptr_->delete_property (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySet_tie<T>::delete_properties  (
    const ::CosPropertyService::PropertyNames & property_names
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->delete_properties (
    property_names
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySet_tie<T>::delete_all_properties  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->delete_all_properties (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySet_tie<T>::is_property_defined  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName
  ))
{
  return this->ptr_->is_property_defined (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDef_tie<T>::PropertySetDef_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDef_tie<T>::PropertySetDef_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertySetDef_tie<T>::~PropertySetDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertySetDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertySetDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertySetDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertySetDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertySetDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::define_property  (
    const char * property_name,
    const ::CORBA::Any & property_value
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::ConflictingProperty,
    ::CosPropertyService::UnsupportedTypeCode,
    ::CosPropertyService::UnsupportedProperty,
    ::CosPropertyService::ReadOnlyProperty
  ))
{
  this->ptr_->define_property (
    property_name,
    property_value
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::define_properties  (
    const ::CosPropertyService::Properties & nproperties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->define_properties (
    nproperties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::ULong POA_CosPropertyService::PropertySetDef_tie<T>::get_number_of_properties  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->get_number_of_properties (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::get_all_property_names  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::PropertyNames_out property_names,
    ::CosPropertyService::PropertyNamesIterator_out rest
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_all_property_names (
    how_many,
    property_names,
    rest
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Any * POA_CosPropertyService::PropertySetDef_tie<T>::get_property_value  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::InvalidPropertyName
  ))
{
  return this->ptr_->get_property_value (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySetDef_tie<T>::get_properties  (
    const ::CosPropertyService::PropertyNames & property_names,
    ::CosPropertyService::Properties_out nproperties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->get_properties (
    property_names,
    nproperties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::get_all_properties  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::Properties_out nproperties,
    ::CosPropertyService::PropertiesIterator_out rest
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_all_properties (
    how_many,
    nproperties,
    rest
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::delete_property  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::FixedProperty
  ))
{
  this->ptr_->delete_property (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::delete_properties  (
    const ::CosPropertyService::PropertyNames & property_names
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->delete_properties (
    property_names
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySetDef_tie<T>::delete_all_properties  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->delete_all_properties (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySetDef_tie<T>::is_property_defined  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName
  ))
{
  return this->ptr_->is_property_defined (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::get_allowed_property_types  (
    ::CosPropertyService::PropertyTypes_out property_types
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_allowed_property_types (
    property_types
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::get_allowed_properties  (
    ::CosPropertyService::PropertyDefs_out property_defs
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->get_allowed_properties (
    property_defs
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::define_property_with_mode  (
    const char * property_name,
    const ::CORBA::Any & property_value,
    ::CosPropertyService::PropertyModeType property_mode
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::ConflictingProperty,
    ::CosPropertyService::UnsupportedTypeCode,
    ::CosPropertyService::UnsupportedProperty,
    ::CosPropertyService::UnsupportedMode,
    ::CosPropertyService::ReadOnlyProperty
  ))
{
  this->ptr_->define_property_with_mode (
    property_name,
    property_value,
    property_mode
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::define_properties_with_modes  (
    const ::CosPropertyService::PropertyDefs & property_defs
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->define_properties_with_modes (
    property_defs
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
::CosPropertyService::PropertyModeType POA_CosPropertyService::PropertySetDef_tie<T>::get_property_mode  (
    const char * property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::InvalidPropertyName
  ))
{
  return this->ptr_->get_property_mode (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertySetDef_tie<T>::get_property_modes  (
    const ::CosPropertyService::PropertyNames & property_names,
    ::CosPropertyService::PropertyModes_out property_modes
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->get_property_modes (
    property_names,
    property_modes
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::set_property_mode  (
    const char * property_name,
    ::CosPropertyService::PropertyModeType property_mode
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::InvalidPropertyName,
    ::CosPropertyService::PropertyNotFound,
    ::CosPropertyService::UnsupportedMode
  ))
{
  this->ptr_->set_property_mode (
    property_name,
    property_mode
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertySetDef_tie<T>::set_property_modes  (
    const ::CosPropertyService::PropertyModes & property_modes
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosPropertyService::MultipleExceptions
  ))
{
  this->ptr_->set_property_modes (
    property_modes
    ACE_ENV_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertyNamesIterator_tie<T>::PropertyNamesIterator_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertyNamesIterator_tie<T>::PropertyNamesIterator_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertyNamesIterator_tie<T>::~PropertyNamesIterator_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertyNamesIterator_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertyNamesIterator_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertyNamesIterator_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertyNamesIterator_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertyNamesIterator::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertyNamesIterator_tie<T>::reset  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->reset (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertyNamesIterator_tie<T>::next_one  (
    CORBA::String_out property_name
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->next_one (
    property_name
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertyNamesIterator_tie<T>::next_n  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::PropertyNames_out property_names
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->next_n (
    how_many,
    property_names
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertyNamesIterator_tie<T>::destroy  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->destroy (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_si.cpp:96

#if defined (ACE_HAS_USING_KEYWORD)

template <class T> ACE_INLINE
POA_CosPropertyService::PropertiesIterator_tie<T>::PropertiesIterator_tie (T &t)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_nil ()),
	  rel_ (0)
{}

template <class T> ACE_INLINE
POA_CosPropertyService::PropertiesIterator_tie<T>::PropertiesIterator_tie (T &t, PortableServer::POA_ptr poa)
	: ptr_ (&t),
	  poa_ (PortableServer::POA::_duplicate (poa)),
	  rel_ (0)
{}

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

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

template <class T> ACE_INLINE
POA_CosPropertyService::PropertiesIterator_tie<T>::~PropertiesIterator_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> ACE_INLINE T *
POA_CosPropertyService::PropertiesIterator_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> ACE_INLINE void
POA_CosPropertyService::PropertiesIterator_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = 0;
}

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

template <class T> ACE_INLINE CORBA::Boolean
POA_CosPropertyService::PropertiesIterator_tie<T>::_is_owner (void)
{
  return this->rel_;
}

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

template <class T> ACE_INLINE PortableServer::POA_ptr
POA_CosPropertyService::PropertiesIterator_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
{
  if (!CORBA::is_nil (this->poa_.in ()))
    {
      return PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PropertiesIterator::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertiesIterator_tie<T>::reset  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->reset (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertiesIterator_tie<T>::next_one  (
    ::CosPropertyService::Property_out aproperty
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->next_one (
    aproperty
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
CORBA::Boolean POA_CosPropertyService::PropertiesIterator_tie<T>::next_n  (
    ::CORBA::ULong how_many,
    ::CosPropertyService::Properties_out nproperties
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  return this->ptr_->next_n (
    how_many,
    nproperties
    ACE_ENV_ARG_PARAMETER
  );
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/tie_si.cpp:68

template <class T> ACE_INLINE
void POA_CosPropertyService::PropertiesIterator_tie<T>::destroy  (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  this->ptr_->destroy (
    ACE_ENV_SINGLE_ARG_PARAMETER
  );
}

#endif /* ACE_HAS_USING_KEYWORD */

