// -*- 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_codegen.cpp:546

#ifndef _TAO_IDL_COSLOADBALANCINGS_T_H_
#define _TAO_IDL_COSLOADBALANCINGS_T_H_

#include /**/ "ace/pre.h"

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


// TAO_IDL - Generated from 
// be/be_visitor_root/root_sth.cpp:116

#if defined (ACE_HAS_USING_KEYWORD)
namespace POA_CosLoadBalancing
{
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  Strategy_tie : public Strategy
  {
  public:
    Strategy_tie (T &t);
    // the T& ctor
    Strategy_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Strategy_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Strategy_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Strategy_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    char * name (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::Properties * get_properties (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads (
        const ::PortableGroup::Location & the_location,
        const ::CosLoadBalancing::LoadList & loads
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::StrategyNotAdaptive
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::LoadList * get_loads (
        ::CosLoadBalancing::LoadManager_ptr load_manager,
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LocationNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Object_ptr next_member (
        ::PortableGroup::ObjectGroup_ptr object_group,
        ::CosLoadBalancing::LoadManager_ptr load_manager
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::MemberNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void analyze_loads (
        ::PortableGroup::ObjectGroup_ptr object_group,
        ::CosLoadBalancing::LoadManager_ptr load_manager
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Strategy_tie (const Strategy_tie &);
    void operator= (const Strategy_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AMI_StrategyHandler_tie : public AMI_StrategyHandler
  {
  public:
    AMI_StrategyHandler_tie (T &t);
    // the T& ctor
    AMI_StrategyHandler_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    AMI_StrategyHandler_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    AMI_StrategyHandler_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~AMI_StrategyHandler_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_name (
        const char * ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_name_excep (
        ::CosLoadBalancing::AMI_StrategyExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_properties (
        const ::CosLoadBalancing::Properties & ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_properties_excep (
        ::CosLoadBalancing::AMI_StrategyExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads_excep (
        ::CosLoadBalancing::AMI_StrategyExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads (
        const ::CosLoadBalancing::LoadList & ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads_excep (
        ::CosLoadBalancing::AMI_StrategyExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void next_member (
        ::CORBA::Object_ptr ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void next_member_excep (
        ::CosLoadBalancing::AMI_StrategyExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    AMI_StrategyHandler_tie (const AMI_StrategyHandler_tie &);
    void operator= (const AMI_StrategyHandler_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  LoadAlert_tie : public LoadAlert
  {
  public:
    LoadAlert_tie (T &t);
    // the T& ctor
    LoadAlert_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    LoadAlert_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    LoadAlert_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~LoadAlert_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    LoadAlert_tie (const LoadAlert_tie &);
    void operator= (const LoadAlert_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AMI_LoadAlertHandler_tie : public AMI_LoadAlertHandler
  {
  public:
    AMI_LoadAlertHandler_tie (T &t);
    // the T& ctor
    AMI_LoadAlertHandler_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    AMI_LoadAlertHandler_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    AMI_LoadAlertHandler_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~AMI_LoadAlertHandler_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert_excep (
        ::CosLoadBalancing::AMI_LoadAlertExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert_excep (
        ::CosLoadBalancing::AMI_LoadAlertExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    AMI_LoadAlertHandler_tie (const AMI_LoadAlertHandler_tie &);
    void operator= (const AMI_LoadAlertHandler_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  LoadMonitor_tie : public LoadMonitor
  {
  public:
    LoadMonitor_tie (T &t);
    // the T& ctor
    LoadMonitor_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    LoadMonitor_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    LoadMonitor_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~LoadMonitor_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::Location * the_location (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::LoadList * loads (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    LoadMonitor_tie (const LoadMonitor_tie &);
    void operator= (const LoadMonitor_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AMI_LoadMonitorHandler_tie : public AMI_LoadMonitorHandler
  {
  public:
    AMI_LoadMonitorHandler_tie (T &t);
    // the T& ctor
    AMI_LoadMonitorHandler_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    AMI_LoadMonitorHandler_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    AMI_LoadMonitorHandler_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~AMI_LoadMonitorHandler_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_the_location (
        const ::CosLoadBalancing::Location & ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_the_location_excep (
        ::CosLoadBalancing::AMI_LoadMonitorExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads (
        const ::CosLoadBalancing::LoadList & ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads_excep (
        ::CosLoadBalancing::AMI_LoadMonitorExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    AMI_LoadMonitorHandler_tie (const AMI_LoadMonitorHandler_tie &);
    void operator= (const AMI_LoadMonitorHandler_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  LoadManager_tie : public LoadManager
  {
  public:
    LoadManager_tie (T &t);
    // the T& ctor
    LoadManager_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    LoadManager_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    LoadManager_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~LoadManager_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void set_default_properties (
        const ::PortableGroup::Properties & props
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::UnsupportedProperty
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::PortableGroup::Properties * get_default_properties (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_default_properties (
        const ::PortableGroup::Properties & props
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::UnsupportedProperty
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void set_type_properties (
        const char * type_id,
        const ::PortableGroup::Properties & overrides
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::UnsupportedProperty
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::PortableGroup::Properties * get_type_properties (
        const char * type_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_type_properties (
        const char * type_id,
        const ::PortableGroup::Properties & props
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::UnsupportedProperty
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void set_properties_dynamically (
        ::PortableGroup::ObjectGroup_ptr object_group,
        const ::PortableGroup::Properties & overrides
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::UnsupportedProperty
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::PortableGroup::Properties * get_properties (
        ::PortableGroup::ObjectGroup_ptr object_group
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroup_ptr create_member (
        ::PortableGroup::ObjectGroup_ptr object_group,
        const ::PortableGroup::Location & the_location,
        const char * type_id,
        const ::PortableGroup::Criteria & the_criteria
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::MemberAlreadyPresent,
        ::PortableGroup::NoFactory,
        ::PortableGroup::ObjectNotCreated,
        ::PortableGroup::InvalidCriteria,
        ::PortableGroup::CannotMeetCriteria
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroup_ptr add_member (
        ::PortableGroup::ObjectGroup_ptr object_group,
        const ::PortableGroup::Location & the_location,
        ::CORBA::Object_ptr member
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::MemberAlreadyPresent,
        ::PortableGroup::ObjectNotAdded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroup_ptr remove_member (
        ::PortableGroup::ObjectGroup_ptr object_group,
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::MemberNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::PortableGroup::Locations * locations_of_members (
        ::PortableGroup::ObjectGroup_ptr object_group
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::PortableGroup::ObjectGroups * groups_at_location (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroupId get_object_group_id (
        ::PortableGroup::ObjectGroup_ptr object_group
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroup_ptr get_object_group_ref (
        ::PortableGroup::ObjectGroup_ptr object_group
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Object_ptr get_member_ref (
        ::PortableGroup::ObjectGroup_ptr object_group,
        const ::PortableGroup::Location & loc
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound,
        ::PortableGroup::MemberNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    PortableGroup::ObjectGroup_ptr get_object_group_ref_from_id (
        ::PortableGroup::ObjectGroupId group_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectGroupNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Object_ptr create_object (
        const char * type_id,
        const ::PortableGroup::Criteria & the_criteria,
        ::PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::NoFactory,
        ::PortableGroup::ObjectNotCreated,
        ::PortableGroup::InvalidCriteria,
        ::PortableGroup::InvalidProperty,
        ::PortableGroup::CannotMeetCriteria
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void delete_object (
        const ::PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::PortableGroup::ObjectNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads (
        const ::PortableGroup::Location & the_location,
        const ::CosLoadBalancing::LoadList & loads
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::LoadList * get_loads (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LocationNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LoadAlertNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LoadAlertNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_alert (
        const ::PortableGroup::Location & the_location,
        ::CosLoadBalancing::LoadAlert_ptr load_alert
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LoadAlertAlreadyPresent,
        ::CosLoadBalancing::LoadAlertNotAdded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::LoadAlert_ptr get_load_alert (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LoadAlertNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_alert (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LoadAlertNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_monitor (
        const ::PortableGroup::Location & the_location,
        ::CosLoadBalancing::LoadMonitor_ptr load_monitor
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::MonitorAlreadyPresent
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosLoadBalancing::LoadMonitor_ptr get_load_monitor (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LocationNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_monitor (
        const ::PortableGroup::Location & the_location
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosLoadBalancing::LocationNotFound
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    LoadManager_tie (const LoadManager_tie &);
    void operator= (const LoadManager_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AMI_LoadManagerHandler_tie : public AMI_LoadManagerHandler
  {
  public:
    AMI_LoadManagerHandler_tie (T &t);
    // the T& ctor
    AMI_LoadManagerHandler_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    AMI_LoadManagerHandler_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    AMI_LoadManagerHandler_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~AMI_LoadManagerHandler_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void push_loads_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads (
        const ::CosLoadBalancing::LoadList & ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_loads_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void enable_alert_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void disable_alert_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_alert_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_load_alert (
        ::CosLoadBalancing::LoadAlert_ptr ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_load_alert_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_alert (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_alert_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_monitor (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void register_load_monitor_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_load_monitor (
        ::CosLoadBalancing::LoadMonitor_ptr ami_return_val
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void get_load_monitor_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_monitor (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_load_monitor_excep (
        ::CosLoadBalancing::AMI_LoadManagerExceptionHolder * excep_holder
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    AMI_LoadManagerHandler_tie (const AMI_LoadManagerHandler_tie &);
    void operator= (const AMI_LoadManagerHandler_tie &);
  };
} // module CosLoadBalancing
#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from 
// be/be_codegen.cpp:1091

#if defined (__ACE_INLINE__)
#include "CosLoadBalancingS_T.inl"
#endif /* defined __ACE_INLINE__ */

#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
#include "CosLoadBalancingS_T.cpp"
#endif /* defined REQUIRED SOURCE */

#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
#pragma implementation ("CosLoadBalancingS_T.cpp")
#endif /* defined REQUIRED PRAGMA */

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

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