implrepoc.cpp

来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C++ 代码 · 共 2,210 行 · 第 1/5 页

CPP
2,210
字号
// -*- C++ -*-
//
// ImplRepoC.cpp,v 1.35 2003/12/28 16:12:31 jwillemsen Exp

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


#include "ImplRepoC.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Typecode.h"
#include "tao/Any_Impl_T.h"
#include "tao/Any_Dual_Impl_T.h"
#include "tao/Any_Basic_Impl_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Object_Argument_T.h"
#include "tao/Special_Basic_Arguments.h"
#include "tao/UB_String_Arguments.h"
#include "tao/Var_Size_Argument_T.h"
#include "ace/OS_NS_string.h"

#if defined (__BORLANDC__)
#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
#endif /* __BORLANDC__ */

#if !defined (__ACE_INLINE__)
#include "ImplRepoC.i"
#endif /* !defined INLINE */

// TAO_IDL - Generated from
// .\be\be_visitor_arg_traits.cpp:62

// Arg traits specializations.
namespace TAO
{

#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerObject>
    : public
        Object_Arg_Traits_T<
            ImplementationRepository::ServerObject_ptr,
            ImplementationRepository::ServerObject_var,
            ImplementationRepository::ServerObject_out,
            TAO::Objref_Traits<ImplementationRepository::ServerObject>
          >
  {
  };

#endif /* end #if !defined */

  // TAO_IDL - Generated from
  // .\be\be_visitor_arg_traits.cpp:474

#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::StartupOptions>
    : public
        Var_Size_Arg_Traits_T<
            ImplementationRepository::StartupOptions,
            ImplementationRepository::StartupOptions_var,
            ImplementationRepository::StartupOptions_out
          >
  {
  };

#endif /* end #if !defined */

  // TAO_IDL - Generated from
  // .\be\be_visitor_arg_traits.cpp:474

#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformation>
    : public
        Var_Size_Arg_Traits_T<
            ImplementationRepository::ServerInformation,
            ImplementationRepository::ServerInformation_var,
            ImplementationRepository::ServerInformation_out
          >
  {
  };

#endif /* end #if !defined */

  // TAO_IDL - Generated from
  // .\be\be_visitor_arg_traits.cpp:265

#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationList>
    : public
        Var_Size_Arg_Traits_T<
            ImplementationRepository::ServerInformationList,
            ImplementationRepository::ServerInformationList_var,
            ImplementationRepository::ServerInformationList_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationIterator>
    : public
        Object_Arg_Traits_T<
            ImplementationRepository::ServerInformationIterator_ptr,
            ImplementationRepository::ServerInformationIterator_var,
            ImplementationRepository::ServerInformationIterator_out,
            TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
          >
  {
  };

#endif /* end #if !defined */
}

// TAO_IDL - Generated from
// c:\cvsdoc\ace_wrappers\build\vc71\tao\tao_idl\be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for ImplementationRepository::ServerObject.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
ImplementationRepository::ServerObject_ptr
TAO::Objref_Traits<ImplementationRepository::ServerObject>::tao_duplicate (
    ImplementationRepository::ServerObject_ptr p
  )
{
  return ImplementationRepository::ServerObject::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<ImplementationRepository::ServerObject>::tao_release (
    ImplementationRepository::ServerObject_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
ImplementationRepository::ServerObject_ptr
TAO::Objref_Traits<ImplementationRepository::ServerObject>::tao_nil (void)
{
  return ImplementationRepository::ServerObject::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<ImplementationRepository::ServerObject>::tao_marshal (
    ImplementationRepository::ServerObject_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return p->marshal (cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker *
(*ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// c:\cvsdoc\ace_wrappers\build\vc71\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78

void ImplementationRepository::ServerObject::ping (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ServerObject_Proxy_Broker_ == 0)
    {
      ImplementationRepository_ServerObject_setup_collocation (
          this->ACE_NESTED_CLASS (CORBA, Object)::_is_collocated ()
        );
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  
  TAO::Argument *_tao_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _tao_signature,
      1,
      "ping",
      4,
      this->the_TAO_ServerObject_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// c:\cvsdoc\ace_wrappers\build\vc71\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78

void ImplementationRepository::ServerObject::shutdown (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ServerObject_Proxy_Broker_ == 0)
    {
      ImplementationRepository_ServerObject_setup_collocation (
          this->ACE_NESTED_CLASS (CORBA, Object)::_is_collocated ()
        );
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  
  TAO::Argument *_tao_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _tao_signature,
      1,
      "shutdown",
      8,
      this->the_TAO_ServerObject_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

ImplementationRepository::ServerObject::ServerObject (int collocated)
 : the_TAO_ServerObject_Proxy_Broker_ (0)
{
  this->ImplementationRepository_ServerObject_setup_collocation (collocated);
}

void
ImplementationRepository::ServerObject::ImplementationRepository_ServerObject_setup_collocation (int collocated)
{
  if (collocated)
    {
      this->the_TAO_ServerObject_Proxy_Broker_ =
        ::ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer (this);
    }
}

ImplementationRepository::ServerObject::~ServerObject (void)
{}

void 
ImplementationRepository::ServerObject::_tao_any_destructor (void *_tao_void_pointer)
{
  ServerObject *_tao_tmp_pointer =
    ACE_static_cast (ServerObject *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

ImplementationRepository::ServerObject_ptr
ImplementationRepository::ServerObject::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ServerObject>::narrow (
        _tao_objref,
        "IDL:ImplementationRepository/ServerObject:1.0",
        ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

ImplementationRepository::ServerObject_ptr
ImplementationRepository::ServerObject::_duplicate (ServerObject_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
ImplementationRepository::ServerObject::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:ImplementationRepository/ServerObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* ImplementationRepository::ServerObject::_interface_repository_id (void) const
{
  return "IDL:ImplementationRepository/ServerObject:1.0";
}

CORBA::Boolean
ImplementationRepository::ServerObject::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from
// c:\cvsdoc\ace_wrappers\build\vc71\tao\tao_idl\be\be_visitor_typecode/typecode_defn.cpp:284

static const CORBA::Long _oc_ImplementationRepository_ServerObject[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  46,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x496d706c), 
  ACE_NTOHL (0x656d656e), 
  ACE_NTOHL (0x74617469), 
  ACE_NTOHL (0x6f6e5265), 
  ACE_NTOHL (0x706f7369), 
  ACE_NTOHL (0x746f7279), 
  ACE_NTOHL (0x2f536572), 
  ACE_NTOHL (0x7665724f), 
  ACE_NTOHL (0x626a6563), 
  ACE_NTOHL (0x743a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:ImplementationRepository/ServerObject:1.0
    13,
  ACE_NTOHL (0x53657276), 
  ACE_NTOHL (0x65724f62), 
  ACE_NTOHL (0x6a656374), 
  ACE_NTOHL (0x0),  // name = ServerObject
  };

static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerObject (
    CORBA::tk_objref,
    sizeof (_oc_ImplementationRepository_ServerObject),
    (char *) &_oc_ImplementationRepository_ServerObject,
    0,
    sizeof (ImplementationRepository::ServerObject)
  );

namespace ImplementationRepository
{
  ::CORBA::TypeCode_ptr _tc_ServerObject =
    &_tc_TAO_tc_ImplementationRepository_ServerObject;
}

// TAO_IDL - Generated from 
// c:\cvsdoc\ace_wrappers\build\vc71\tao\tao_idl\be\be_visitor_exception/exception_cs.cpp:63

ImplementationRepository::AlreadyRegistered::AlreadyRegistered (void)
  : CORBA::UserException (
        "IDL:ImplementationRepository/AlreadyRegistered:1.0",
        "AlreadyRegistered"
      )
{
}

ImplementationRepository::AlreadyRegistered::~AlreadyRegistered (void)
{
}

ImplementationRepository::AlreadyRegistered::AlreadyRegistered (const ::ImplementationRepository::AlreadyRegistered &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

ImplementationRepository::AlreadyRegistered&
ImplementationRepository::AlreadyRegistered::operator= (const ::ImplementationRepository::AlreadyRegistered &_tao_excp)
{
  this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?