// -*- C++ -*-
//
// $Id: IFR_ComponentsS_T.h 77001 2007-02-12 07:54:49Z johnnyw $

// ****  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:545

#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_H_
#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_H_

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

TAO_BEGIN_VERSIONED_NAMESPACE_DECL



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

namespace POA_CORBA
{

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

  namespace ComponentIR
  {

    // 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  EventDef_tie : public EventDef
    {
    public:
      /// the T& ctor
      EventDef_tie (T &t);
      /// ctor taking a POA
      EventDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      EventDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      EventDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~EventDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr type (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDefSeq * supported_interfaces (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void supported_interfaces (
          const ::CORBA::InterfaceDefSeq & supported_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InitializerSeq * initializers (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void initializers (
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr base_value (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void base_value (
          ::CORBA::ValueDef_ptr base_value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDefSeq * abstract_base_values (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void abstract_base_values (
          const ::CORBA::ValueDefSeq & abstract_base_values
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_abstract (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void is_abstract (
          ::CORBA::Boolean is_abstract
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_custom (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void is_custom (
          ::CORBA::Boolean is_custom
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_truncatable (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void is_truncatable (
          ::CORBA::Boolean is_truncatable
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef::FullValueDescription * describe_value (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueMemberDef_ptr create_value_member (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::Visibility access
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AttributeDef_ptr create_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::OperationDef_ptr create_operation (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr result,
          ::CORBA::OperationMode mode,
          const ::CORBA::ParDescriptionSeq & params,
          const ::CORBA::ExceptionDefSeq & exceptions,
          const ::CORBA::ContextIdSeq & contexts
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtInitializerSeq * ext_initializers (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void ext_initializers (
          const ::CORBA::ExtInitializerSeq & ext_initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef::ExtFullValueDescription * describe_ext_value (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtAttributeDef_ptr create_ext_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode,
          const ::CORBA::ExceptionDefSeq & get_exceptions,
          const ::CORBA::ExceptionDefSeq & set_exceptions
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      EventDef_tie (const EventDef_tie &);
      void operator= (const EventDef_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  Container_tie : public Container
    {
    public:
      /// the T& ctor
      Container_tie (T &t);
      /// ctor taking a POA
      Container_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      Container_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      Container_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~Container_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ComponentDef_ptr create_component (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::ComponentDef_ptr base_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::HomeDef_ptr create_home (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::HomeDef_ptr base_home,
          ::CORBA::ComponentIR::ComponentDef_ptr managed_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces,
          ::CORBA::ValueDef_ptr primary_key
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr create_event (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      Container_tie (const Container_tie &);
      void operator= (const Container_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  ModuleDef_tie : public ModuleDef
    {
    public:
      /// the T& ctor
      ModuleDef_tie (T &t);
      /// ctor taking a POA
      ModuleDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      ModuleDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      ModuleDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~ModuleDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ComponentDef_ptr create_component (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::ComponentDef_ptr base_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::HomeDef_ptr create_home (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::HomeDef_ptr base_home,
          ::CORBA::ComponentIR::ComponentDef_ptr managed_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces,
          ::CORBA::ValueDef_ptr primary_key
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr create_event (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      ModuleDef_tie (const ModuleDef_tie &);
      void operator= (const ModuleDef_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  Repository_tie : public Repository
    {
    public:
      /// the T& ctor
      Repository_tie (T &t);
      /// ctor taking a POA
      Repository_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      Repository_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      Repository_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~Repository_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup_id (
          const char * search_id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr get_canonical_typecode (
          ::CORBA::TypeCode_ptr tc
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::PrimitiveDef_ptr get_primitive (
          ::CORBA::PrimitiveKind kind
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StringDef_ptr create_string (
          ::CORBA::ULong bound
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::WstringDef_ptr create_wstring (
          ::CORBA::ULong bound
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::SequenceDef_ptr create_sequence (
          ::CORBA::ULong bound,
          ::CORBA::IDLType_ptr element_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ArrayDef_ptr create_array (
          ::CORBA::ULong length,
          ::CORBA::IDLType_ptr element_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::FixedDef_ptr create_fixed (
          ::CORBA::UShort digits,
          ::CORBA::Short scale
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ComponentDef_ptr create_component (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::ComponentDef_ptr base_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::HomeDef_ptr create_home (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::HomeDef_ptr base_home,
          ::CORBA::ComponentIR::ComponentDef_ptr managed_component,
          const ::CORBA::InterfaceDefSeq & supports_interfaces,
          ::CORBA::ValueDef_ptr primary_key
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr create_event (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      Repository_tie (const Repository_tie &);
      void operator= (const Repository_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  ProvidesDef_tie : public ProvidesDef
    {
    public:
      /// the T& ctor
      ProvidesDef_tie (T &t);
      /// ctor taking a POA
      ProvidesDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      ProvidesDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      ProvidesDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~ProvidesDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr interface_type (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void interface_type (
          ::CORBA::InterfaceDef_ptr interface_type
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      ProvidesDef_tie (const ProvidesDef_tie &);
      void operator= (const ProvidesDef_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  UsesDef_tie : public UsesDef
    {
    public:
      /// the T& ctor
      UsesDef_tie (T &t);
      /// ctor taking a POA
      UsesDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      UsesDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      UsesDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~UsesDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr interface_type (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void interface_type (
          ::CORBA::InterfaceDef_ptr interface_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_multiple (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void is_multiple (
          ::CORBA::Boolean is_multiple
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      UsesDef_tie (const UsesDef_tie &);
      void operator= (const UsesDef_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  EventPortDef_tie : public EventPortDef
    {
    public:
      /// the T& ctor
      EventPortDef_tie (T &t);
      /// ctor taking a POA
      EventPortDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      EventPortDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      EventPortDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~EventPortDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr event (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void event (
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * event_id
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      EventPortDef_tie (const EventPortDef_tie &);
      void operator= (const EventPortDef_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  EmitsDef_tie : public EmitsDef
    {
    public:
      /// the T& ctor
      EmitsDef_tie (T &t);
      /// ctor taking a POA
      EmitsDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      EmitsDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      EmitsDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~EmitsDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr event (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void event (
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * event_id
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      EmitsDef_tie (const EmitsDef_tie &);
      void operator= (const EmitsDef_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  PublishesDef_tie : public PublishesDef
    {
    public:
      /// the T& ctor
      PublishesDef_tie (T &t);
      /// ctor taking a POA
      PublishesDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      PublishesDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      PublishesDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~PublishesDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr event (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void event (
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * event_id
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      PublishesDef_tie (const PublishesDef_tie &);
      void operator= (const PublishesDef_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  ConsumesDef_tie : public ConsumesDef
    {
    public:
      /// the T& ctor
      ConsumesDef_tie (T &t);
      /// ctor taking a POA
      ConsumesDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      ConsumesDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      ConsumesDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~ConsumesDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EventDef_ptr event (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void event (
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * event_id
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      ConsumesDef_tie (const ConsumesDef_tie &);
      void operator= (const ConsumesDef_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  ComponentDef_tie : public ComponentDef
    {
    public:
      /// the T& ctor
      ComponentDef_tie (T &t);
      /// ctor taking a POA
      ComponentDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      ComponentDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      ComponentDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~ComponentDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr type (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDefSeq * base_interfaces (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void base_interfaces (
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * interface_id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AttributeDef_ptr create_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::OperationDef_ptr create_operation (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr result,
          ::CORBA::OperationMode mode,
          const ::CORBA::ParDescriptionSeq & params,
          const ::CORBA::ExceptionDefSeq & exceptions,
          const ::CORBA::ContextIdSeq & contexts
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtAttributeDef_ptr create_ext_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode,
          const ::CORBA::ExceptionDefSeq & get_exceptions,
          const ::CORBA::ExceptionDefSeq & set_exceptions
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ComponentDef_ptr base_component (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void base_component (
          ::CORBA::ComponentIR::ComponentDef_ptr base_component
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDefSeq * supported_interfaces (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void supported_interfaces (
          const ::CORBA::InterfaceDefSeq & supported_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ProvidesDef_ptr create_provides (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::InterfaceDef_ptr interface_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::UsesDef_ptr create_uses (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::InterfaceDef_ptr interface_type,
          ::CORBA::Boolean is_multiple
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::EmitsDef_ptr create_emits (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::PublishesDef_ptr create_publishes (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::EventDef_ptr event
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ConsumesDef_ptr create_consumes (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::ComponentIR::EventDef_ptr event
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      ComponentDef_tie (const ComponentDef_tie &);
      void operator= (const ComponentDef_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  FactoryDef_tie : public FactoryDef
    {
    public:
      /// the T& ctor
      FactoryDef_tie (T &t);
      /// ctor taking a POA
      FactoryDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      FactoryDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      FactoryDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~FactoryDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr result (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::IDLType_ptr result_def (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void result_def (
          ::CORBA::IDLType_ptr result_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ParDescriptionSeq * params (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void params (
          const ::CORBA::ParDescriptionSeq & params
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::OperationMode mode (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void mode (
          ::CORBA::OperationMode mode
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContextIdSeq * contexts (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void contexts (
          const ::CORBA::ContextIdSeq & contexts
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDefSeq * exceptions (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void exceptions (
          const ::CORBA::ExceptionDefSeq & exceptions
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      FactoryDef_tie (const FactoryDef_tie &);
      void operator= (const FactoryDef_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  FinderDef_tie : public FinderDef
    {
    public:
      /// the T& ctor
      FinderDef_tie (T &t);
      /// ctor taking a POA
      FinderDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      FinderDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      FinderDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~FinderDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr result (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::IDLType_ptr result_def (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void result_def (
          ::CORBA::IDLType_ptr result_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ParDescriptionSeq * params (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void params (
          const ::CORBA::ParDescriptionSeq & params
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::OperationMode mode (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void mode (
          ::CORBA::OperationMode mode
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContextIdSeq * contexts (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void contexts (
          const ::CORBA::ContextIdSeq & contexts
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDefSeq * exceptions (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void exceptions (
          const ::CORBA::ExceptionDefSeq & exceptions
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      FinderDef_tie (const FinderDef_tie &);
      void operator= (const FinderDef_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  HomeDef_tie : public HomeDef
    {
    public:
      /// the T& ctor
      HomeDef_tie (T &t);
      /// ctor taking a POA
      HomeDef_tie (T &t, PortableServer::POA_ptr poa);
      /// ctor taking pointer and an ownership flag
      HomeDef_tie (T *tp, ::CORBA::Boolean release = true);
      /// ctor with T*, ownership flag and a POA
      HomeDef_tie (
          T *tp,
          PortableServer::POA_ptr poa,
          ::CORBA::Boolean release = true
        );
      /// dtor

      ~HomeDef_tie (void);
      // TIE specific functions
      /// return the underlying object
      T *_tied_object (void);
      /// set the underlying object
      void _tied_object (T &obj);
      /// set the underlying object and the ownership flag
      void _tied_object (T *obj, ::CORBA::Boolean release = true);
      /// do we own it
      ::CORBA::Boolean _is_owner (void);
      /// set the ownership

      void _is_owner ( ::CORBA::Boolean b);
      // overridden ServantBase operations
      PortableServer::POA_ptr _default_POA (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::DefinitionKind def_kind (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void destroy (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained_ptr lookup (
          const char * search_name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ContainedSeq * lookup_name (
          const char * search_name,
          ::CORBA::Long levels_to_search,
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container::DescriptionSeq * describe_contents (
          ::CORBA::DefinitionKind limit_type,
          ::CORBA::Boolean exclude_inherited,
          ::CORBA::Long max_returned_objs
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ModuleDef_ptr create_module (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ConstantDef_ptr create_constant (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          const ::CORBA::Any & value
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::StructDef_ptr create_struct (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::UnionDef_ptr create_union (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr discriminator_type,
          const ::CORBA::UnionMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::EnumDef_ptr create_enum (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::EnumMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AliasDef_ptr create_alias (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef_ptr create_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr create_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::InitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueBoxDef_ptr create_value_box (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr original_type_def
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExceptionDef_ptr create_exception (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::StructMemberSeq & members
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::NativeDef_ptr create_native (
          const char * id,
          const char * name,
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::LocalInterfaceDef_ptr create_local_interface (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtValueDef_ptr create_ext_value (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::Boolean is_custom,
          ::CORBA::Boolean is_abstract,
          ::CORBA::ValueDef_ptr base_value,
          ::CORBA::Boolean is_truncatable,
          const ::CORBA::ValueDefSeq & abstract_base_values,
          const ::CORBA::InterfaceDefSeq & supported_interfaces,
          const ::CORBA::ExtInitializerSeq & initializers
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * id (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void id (
          const char * id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void name (
          const char * name
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * version (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void version (
          const char * version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Container_ptr defined_in (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      char * absolute_name (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Repository_ptr containing_repository (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Contained::Description * describe (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void move (
          ::CORBA::Container_ptr new_container,
          const char * new_name,
          const char * new_version
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::TypeCode_ptr type (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDefSeq * base_interfaces (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void base_interfaces (
          const ::CORBA::InterfaceDefSeq & base_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::Boolean is_a (
          const char * interface_id
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::AttributeDef_ptr create_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::OperationDef_ptr create_operation (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr result,
          ::CORBA::OperationMode mode,
          const ::CORBA::ParDescriptionSeq & params,
          const ::CORBA::ExceptionDefSeq & exceptions,
          const ::CORBA::ContextIdSeq & contexts
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ExtAttributeDef_ptr create_ext_attribute (
          const char * id,
          const char * name,
          const char * version,
          ::CORBA::IDLType_ptr type,
          ::CORBA::AttributeMode mode,
          const ::CORBA::ExceptionDefSeq & get_exceptions,
          const ::CORBA::ExceptionDefSeq & set_exceptions
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::HomeDef_ptr base_home (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void base_home (
          ::CORBA::ComponentIR::HomeDef_ptr base_home
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::InterfaceDefSeq * supported_interfaces (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void supported_interfaces (
          const ::CORBA::InterfaceDefSeq & supported_interfaces
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::ComponentDef_ptr managed_component (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void managed_component (
          ::CORBA::ComponentIR::ComponentDef_ptr managed_component
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ValueDef_ptr primary_key (
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      void primary_key (
          ::CORBA::ValueDef_ptr primary_key
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::FactoryDef_ptr create_factory (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::ParDescriptionSeq & params,
          const ::CORBA::ExceptionDefSeq & exceptions
        );

      // TAO_IDL - Generated from
      // be\be_visitor_operation/tie_sh.cpp:60

      ::CORBA::ComponentIR::FinderDef_ptr create_finder (
          const char * id,
          const char * name,
          const char * version,
          const ::CORBA::ParDescriptionSeq & params,
          const ::CORBA::ExceptionDefSeq & exceptions
        );

    private:
      T *ptr_;
      PortableServer::POA_var poa_;
      ::CORBA::Boolean rel_;

      // copy and assignment are not allowed
      HomeDef_tie (const HomeDef_tie &);
      void operator= (const HomeDef_tie &);
    };
  } // module CORBA::ComponentIR
} // module CORBA

// TAO_IDL - Generated from
// be\be_codegen.cpp:1322


TAO_END_VERSIONED_NAMESPACE_DECL

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

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

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

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

