diff options
Diffstat (limited to 'TAO/tao/ImplRepoS.cpp')
-rw-r--r-- | TAO/tao/ImplRepoS.cpp | 2586 |
1 files changed, 2586 insertions, 0 deletions
diff --git a/TAO/tao/ImplRepoS.cpp b/TAO/tao/ImplRepoS.cpp new file mode 100644 index 00000000000..6aa24408240 --- /dev/null +++ b/TAO/tao/ImplRepoS.cpp @@ -0,0 +1,2586 @@ +/* -*- C++ -*- $Id$ */ + +// ****** Code generated by the The ACE ORB (TAO) IDL Compiler ******* +// TAO and the TAO IDL Compiler have been developed by the Center for +// Distributed Object Computing at Washington University, St. Louis. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#include "ImplRepoS.h" + +#if !defined (__ACE_INLINE__) +#include "ImplRepoS.i" +#endif /* !defined INLINE */ + +class TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:21 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, +#else + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, + 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, + 0, 14, 0, 14, 14, 0, 0, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 4, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 13, + HASH_VALUE_RANGE = 10, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"ping", &POA_ImplementationRepository::ServerObject::ping_skel}, + {"_is_a", &POA_ImplementationRepository::ServerObject::_is_a_skel}, + {"",0},{"",0}, + {"shutdown", &POA_ImplementationRepository::ServerObject::shutdown_skel}, + {"",0},{"",0},{"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::ServerObject::_non_existent_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:21 */ +static TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable tao_ImplementationRepository_ServerObject_optable; + +ImplementationRepository::ServerObject_ptr _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerObject_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::ServerObject::ServerObject (void) +{ + this->optable_ = &tao_ImplementationRepository_ServerObject_optable; +} + +// copy ctor +POA_ImplementationRepository::ServerObject::ServerObject (const ServerObject& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::ServerObject::~ServerObject (void) +{ +} + +void POA_ImplementationRepository::ServerObject::ping_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->ping ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerObject::shutdown_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->shutdown ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerObject::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::ServerObject::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::ServerObject::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::ServerObject::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/ServerObject:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::ServerObject_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::ServerObject::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::ServerObject::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerObject:1.0"; +} + +ImplementationRepository::ServerObject* +POA_ImplementationRepository::ServerObject::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerObject_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::ServerObject::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_tao_thru_poa_collocated_ServerObject ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,ServerObject) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::ping ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "ping", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->ping ( + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::shutdown ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "shutdown", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->shutdown ( + ACE_TRY_ENV + ); + return; +} + + + +class TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:22 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 15, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 10, + 34, 34, 5, 34, 0, 0, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 0, 34, 5, + 34, 34, 34, 0, 34, 34, 34, 34, 34, 34, + 34, 34, 5, 0, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, +#else + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 15, 34, 10, 34, 34, + 5, 34, 0, 0, 34, 34, 34, 34, 0, 34, + 5, 34, 34, 34, 0, 5, 0, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 11, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 23, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 33, + HASH_VALUE_RANGE = 30, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"list", &POA_ImplementationRepository::Administration::list_skel}, + {"",0},{"",0},{"",0},{"",0}, + {"find", &POA_ImplementationRepository::Administration::find_skel}, + {"",0},{"",0},{"",0}, + {"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel}, + {"",0}, + {"register_server", &POA_ImplementationRepository::Administration::register_server_skel}, + {"",0}, + {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel}, + {"",0},{"",0}, + {"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel}, + {"",0}, + {"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel}, + {"",0},{"",0}, + {"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel}, + {"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::Administration::_non_existent_skel}, + {"",0}, + {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel}, + {"",0},{"",0}, + {"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:22 */ +static TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable tao_ImplementationRepository_Administration_optable; + +ImplementationRepository::Administration_ptr _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::Administration_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_Administration (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::Administration::Administration (void) +{ + this->optable_ = &tao_ImplementationRepository_Administration_optable; +} + +// copy ctor +POA_ImplementationRepository::Administration::Administration (const Administration& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::Administration::~Administration (void) +{ +} + +void POA_ImplementationRepository::Administration::activate_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->activate_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::register_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::StartupOptions options; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> options) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->register_server ( + server.in (), + options, + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::reregister_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::StartupOptions options; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> options) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->reregister_server ( + server.in (), + options, + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::remove_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->remove_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::shutdown_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->shutdown_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::server_is_running_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var _tao_retval; + CORBA::String_var server; + CORBA::String_var addr; + ImplementationRepository::ServerObject_var server_object; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> addr.out ()) && + (_tao_in >> server_object.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_retval = _tao_impl->server_is_running ( + server.in (), + addr.in (), + server_object.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::server_is_shutting_down_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->server_is_shutting_down ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::find_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::ServerInformation_var info; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->find ( + server.in (), + info.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << info.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::list_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::ULong how_many; + ImplementationRepository::ServerInformationList_var server_list; + ImplementationRepository::ServerInformationIterator_var server_iterator; + if (!( + (_tao_in >> how_many) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->list ( + how_many, + server_list.out (), + server_iterator.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << server_list.in ()) && + (_tao_out << server_iterator.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::Administration::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::Administration::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/Administration:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::Administration::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/Administration:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::Administration_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::Administration::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::Administration::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/Administration:1.0"; +} + +ImplementationRepository::Administration* +POA_ImplementationRepository::Administration::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::Administration_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_Administration (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::Administration::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_tao_thru_poa_collocated_Administration ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,Administration) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::activate_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound, + ImplementationRepository::Administration::CannotActivate + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "activate_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->activate_server ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::register_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::AlreadyRegistered + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "register_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->register_server ( + server, + options, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "reregister_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->reregister_server ( + server, + options, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "remove_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->remove_server ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "shutdown_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->shutdown_server ( + server, + ACE_TRY_ENV + ); + return; +} + +char * POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::server_is_running ( + const char * server, + const char * addr, + ImplementationRepository::ServerObject_ptr server_object, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + CORBA::String_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "server_is_running", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->server_is_running ( + server, + addr, + server_object, + ACE_TRY_ENV + ); + +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::server_is_shutting_down ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "server_is_shutting_down", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->server_is_shutting_down ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::find ( + const char * server, + ImplementationRepository::ServerInformation_out info, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "find", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->find ( + server, + info, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::list ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + ImplementationRepository::ServerInformationIterator_out server_iterator, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "list", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->list ( + how_many, + server_list, + server_iterator, + ACE_TRY_ENV + ); + return; +} + + + +class TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:22 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 0, 14, 14, 14, 14, 0, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, +#else + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, + 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 0, 14, 14, 14, 14, 14, 0, 14, 14, 14, + 14, 0, 14, 14, 14, 14, 14, 14, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 4, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 13, + HASH_VALUE_RANGE = 9, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_ImplementationRepository::ServerInformationIterator::_is_a_skel}, + {"next_n", &POA_ImplementationRepository::ServerInformationIterator::next_n_skel}, + {"destroy", &POA_ImplementationRepository::ServerInformationIterator::destroy_skel}, + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:22 */ +static TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable tao_ImplementationRepository_ServerInformationIterator_optable; + +ImplementationRepository::ServerInformationIterator_ptr _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerInformationIterator_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void) +{ + this->optable_ = &tao_ImplementationRepository_ServerInformationIterator_optable; +} + +// copy ctor +POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (const ServerInformationIterator& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void) +{ +} + +void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *)_tao_object_reference; + + CORBA::Boolean _tao_retval = 0; + CORBA::ULong how_many; + ImplementationRepository::ServerInformationList_var server_list; + if (!( + (_tao_in >> how_many) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_retval = _tao_impl->next_n ( + how_many, + server_list.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << CORBA::Any::from_boolean (_tao_retval)) && + (_tao_out << server_list.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::ServerInformationIterator::destroy_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->destroy ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::ServerInformationIterator::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerInformationIterator:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::ServerInformationIterator::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/ServerInformationIterator:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::ServerInformationIterator_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::ServerInformationIterator::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::ServerInformationIterator::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerInformationIterator:1.0"; +} + +ImplementationRepository::ServerInformationIterator* +POA_ImplementationRepository::ServerInformationIterator::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerInformationIterator_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::ServerInformationIterator::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_tao_thru_poa_collocated_ServerInformationIterator ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,ServerInformationIterator) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::next_n ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::Boolean _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "next_n", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->next_n ( + how_many, + server_list, + ACE_TRY_ENV + ); + +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::destroy ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "destroy", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->destroy ( + ACE_TRY_ENV + ); + return; +} + + + |