// -*- 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_COSTRADINGS_T_H_
#define _TAO_IDL_COSTRADINGS_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_CosTrading
{
  
  // 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  TraderComponents_tie : public TraderComponents
  {
  public:
    TraderComponents_tie (T &t);
    // the T& ctor
    TraderComponents_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    TraderComponents_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    TraderComponents_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~TraderComponents_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        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
    TraderComponents_tie (const TraderComponents_tie &);
    void operator= (const TraderComponents_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  SupportAttributes_tie : public SupportAttributes
  {
  public:
    SupportAttributes_tie (T &t);
    // the T& ctor
    SupportAttributes_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    SupportAttributes_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    SupportAttributes_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~SupportAttributes_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
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        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
    SupportAttributes_tie (const SupportAttributes_tie &);
    void operator= (const SupportAttributes_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  ImportAttributes_tie : public ImportAttributes
  {
  public:
    ImportAttributes_tie (T &t);
    // the T& ctor
    ImportAttributes_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    ImportAttributes_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    ImportAttributes_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~ImportAttributes_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
    
    CORBA::ULong def_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_list (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption def_follow_policy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption max_follow_policy (
        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
    ImportAttributes_tie (const ImportAttributes_tie &);
    void operator= (const ImportAttributes_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  LinkAttributes_tie : public LinkAttributes
  {
  public:
    LinkAttributes_tie (T &t);
    // the T& ctor
    LinkAttributes_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    LinkAttributes_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    LinkAttributes_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~LinkAttributes_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
    
    ::CosTrading::FollowOption max_link_follow_policy (
        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
    LinkAttributes_tie (const LinkAttributes_tie &);
    void operator= (const LinkAttributes_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  Lookup_tie : public Lookup
  {
  public:
    Lookup_tie (T &t);
    // the T& ctor
    Lookup_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Lookup_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Lookup_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Lookup_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_list (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption def_follow_policy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption max_follow_policy (
        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 query (
        const char * type,
        const char * constr,
        const char * pref,
        const ::CosTrading::PolicySeq & policies,
        const ::CosTrading::Lookup::SpecifiedProps & desired_props,
        ::CORBA::ULong how_many,
        ::CosTrading::OfferSeq_out offers,
        ::CosTrading::OfferIterator_out offer_itr,
        ::CosTrading::PolicyNameSeq_out limits_applied
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalServiceType,
        ::CosTrading::UnknownServiceType,
        ::CosTrading::IllegalConstraint,
        ::CosTrading::Lookup::IllegalPreference,
        ::CosTrading::Lookup::IllegalPolicyName,
        ::CosTrading::Lookup::PolicyTypeMismatch,
        ::CosTrading::Lookup::InvalidPolicyValue,
        ::CosTrading::IllegalPropertyName,
        ::CosTrading::DuplicatePropertyName,
        ::CosTrading::DuplicatePolicyName
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Lookup_tie (const Lookup_tie &);
    void operator= (const Lookup_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  Register_tie : public Register
  {
  public:
    Register_tie (T &t);
    // the T& ctor
    Register_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Register_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Register_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Register_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    char * _cxx_export (
        ::CORBA::Object_ptr reference,
        const char * type,
        const ::CosTrading::PropertySeq & properties
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Register::InvalidObjectRef,
        ::CosTrading::IllegalServiceType,
        ::CosTrading::UnknownServiceType,
        ::CosTrading::Register::InterfaceTypeMismatch,
        ::CosTrading::IllegalPropertyName,
        ::CosTrading::PropertyTypeMismatch,
        ::CosTrading::ReadonlyDynamicProperty,
        ::CosTrading::MissingMandatoryProperty,
        ::CosTrading::DuplicatePropertyName
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void withdraw (
        const char * id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalOfferId,
        ::CosTrading::UnknownOfferId,
        ::CosTrading::Register::ProxyOfferId
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register::OfferInfo * describe (
        const char * id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalOfferId,
        ::CosTrading::UnknownOfferId,
        ::CosTrading::Register::ProxyOfferId
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void modify (
        const char * id,
        const ::CosTrading::PropertyNameSeq & del_list,
        const ::CosTrading::PropertySeq & modify_list
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::NotImplemented,
        ::CosTrading::IllegalOfferId,
        ::CosTrading::UnknownOfferId,
        ::CosTrading::Register::ProxyOfferId,
        ::CosTrading::IllegalPropertyName,
        ::CosTrading::Register::UnknownPropertyName,
        ::CosTrading::PropertyTypeMismatch,
        ::CosTrading::ReadonlyDynamicProperty,
        ::CosTrading::Register::MandatoryProperty,
        ::CosTrading::Register::ReadonlyProperty,
        ::CosTrading::DuplicatePropertyName
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void withdraw_using_constraint (
        const char * type,
        const char * constr
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalServiceType,
        ::CosTrading::UnknownServiceType,
        ::CosTrading::IllegalConstraint,
        ::CosTrading::Register::NoMatchingOffers
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr resolve (
        const ::CosTrading::TraderName & name
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Register::IllegalTraderName,
        ::CosTrading::Register::UnknownTraderName,
        ::CosTrading::Register::RegisterNotSupported
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Register_tie (const Register_tie &);
    void operator= (const Register_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  Link_tie : public Link
  {
  public:
    Link_tie (T &t);
    // the T& ctor
    Link_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Link_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Link_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Link_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption max_link_follow_policy (
        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 add_link (
        const char * name,
        ::CosTrading::Lookup_ptr target,
        ::CosTrading::FollowOption def_pass_on_follow_rule,
        ::CosTrading::FollowOption limiting_follow_rule
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Link::IllegalLinkName,
        ::CosTrading::Link::DuplicateLinkName,
        ::CosTrading::InvalidLookupRef,
        ::CosTrading::Link::DefaultFollowTooPermissive,
        ::CosTrading::Link::LimitingFollowTooPermissive
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_link (
        const char * name
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Link::IllegalLinkName,
        ::CosTrading::Link::UnknownLinkName
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link::LinkInfo * describe_link (
        const char * name
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Link::IllegalLinkName,
        ::CosTrading::Link::UnknownLinkName
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::LinkNameSeq * list_links (
        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 modify_link (
        const char * name,
        ::CosTrading::FollowOption def_pass_on_follow_rule,
        ::CosTrading::FollowOption limiting_follow_rule
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::Link::IllegalLinkName,
        ::CosTrading::Link::UnknownLinkName,
        ::CosTrading::Link::DefaultFollowTooPermissive,
        ::CosTrading::Link::LimitingFollowTooPermissive
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Link_tie (const Link_tie &);
    void operator= (const Link_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  Proxy_tie : public Proxy
  {
  public:
    Proxy_tie (T &t);
    // the T& ctor
    Proxy_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Proxy_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Proxy_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Proxy_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    char * export_proxy (
        ::CosTrading::Lookup_ptr target,
        const char * type,
        const ::CosTrading::PropertySeq & properties,
        ::CORBA::Boolean if_match_all,
        const char * recipe,
        const ::CosTrading::PolicySeq & policies_to_pass_on
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalServiceType,
        ::CosTrading::UnknownServiceType,
        ::CosTrading::InvalidLookupRef,
        ::CosTrading::IllegalPropertyName,
        ::CosTrading::PropertyTypeMismatch,
        ::CosTrading::ReadonlyDynamicProperty,
        ::CosTrading::MissingMandatoryProperty,
        ::CosTrading::Proxy::IllegalRecipe,
        ::CosTrading::DuplicatePropertyName,
        ::CosTrading::DuplicatePolicyName
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void withdraw_proxy (
        const char * id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalOfferId,
        ::CosTrading::UnknownOfferId,
        ::CosTrading::Proxy::NotProxyOfferId
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy::ProxyInfo * describe_proxy (
        const char * id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::IllegalOfferId,
        ::CosTrading::UnknownOfferId,
        ::CosTrading::Proxy::NotProxyOfferId
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Proxy_tie (const Proxy_tie &);
    void operator= (const Proxy_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  Admin_tie : public Admin
  {
  public:
    Admin_tie (T &t);
    // the T& ctor
    Admin_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    Admin_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    Admin_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~Admin_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
    
    ::CosTrading::Lookup_ptr lookup_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Register_ptr register_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Link_ptr link_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Proxy_ptr proxy_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin_ptr admin_if (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean supports_modifiable_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
    
    CORBA::Boolean supports_dynamic_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
    
    CORBA::Boolean supports_proxy_offers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr type_repos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_search_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_match_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_return_card (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_list (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong def_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong max_hop_count (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption def_follow_policy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption max_follow_policy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption max_link_follow_policy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin::OctetSeq * request_id_stem (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_def_search_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_max_search_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_def_match_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_max_match_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_def_return_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_max_return_card (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_max_list (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean set_supports_modifiable_properties (
        ::CORBA::Boolean value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean set_supports_dynamic_properties (
        ::CORBA::Boolean value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean set_supports_proxy_offers (
        ::CORBA::Boolean value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_def_hop_count (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::ULong set_max_hop_count (
        ::CORBA::ULong value
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption set_def_follow_policy (
        ::CosTrading::FollowOption policy
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption set_max_follow_policy (
        ::CosTrading::FollowOption policy
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::FollowOption set_max_link_follow_policy (
        ::CosTrading::FollowOption policy
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosTrading::TypeRepository_ptr set_type_repos (
        ::CosTrading::TypeRepository_ptr repository
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosTrading::Admin::OctetSeq * set_request_id_stem (
        const ::CosTrading::Admin::OctetSeq & stem
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void list_offers (
        ::CORBA::ULong how_many,
        ::CosTrading::OfferIdSeq_out ids,
        ::CosTrading::OfferIdIterator_out id_itr
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::NotImplemented
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void list_proxies (
        ::CORBA::ULong how_many,
        ::CosTrading::OfferIdSeq_out ids,
        ::CosTrading::OfferIdIterator_out id_itr
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::NotImplemented
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    Admin_tie (const Admin_tie &);
    void operator= (const Admin_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  OfferIterator_tie : public OfferIterator
  {
  public:
    OfferIterator_tie (T &t);
    // the T& ctor
    OfferIterator_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    OfferIterator_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    OfferIterator_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~OfferIterator_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
    
    CORBA::ULong max_left (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::UnknownMaxLeft
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean next_n (
        ::CORBA::ULong n,
        ::CosTrading::OfferSeq_out offers
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void destroy (
        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
    OfferIterator_tie (const OfferIterator_tie &);
    void operator= (const OfferIterator_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  OfferIdIterator_tie : public OfferIdIterator
  {
  public:
    OfferIdIterator_tie (T &t);
    // the T& ctor
    OfferIdIterator_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    OfferIdIterator_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    OfferIdIterator_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~OfferIdIterator_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
    
    CORBA::ULong max_left (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosTrading::UnknownMaxLeft
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CORBA::Boolean next_n (
        ::CORBA::ULong n,
        ::CosTrading::OfferIdSeq_out ids
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void destroy (
        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
    OfferIdIterator_tie (const OfferIdIterator_tie &);
    void operator= (const OfferIdIterator_tie &);
  };
} // module CosTrading
#endif /* ACE_HAS_USING_KEYWORD */

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

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

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

#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
#pragma implementation ("CosTradingS_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 */
