diff options
Diffstat (limited to 'TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp')
-rw-r--r-- | TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp | 19809 |
1 files changed, 19809 insertions, 0 deletions
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp b/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp new file mode 100644 index 00000000000..a0a00fe93b1 --- /dev/null +++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp @@ -0,0 +1,19809 @@ +// -*- C++ -*- +// +// $Id$ + +// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** +// TAO and the TAO IDL Compiler have been developed by: +// Center for Distributed Object Computing +// Washington University +// St. Louis, MO +// USA +// http://www.cs.wustl.edu/~schmidt/doc-center.html +// and +// Distributed Object Computing Laboratory +// University of California at Irvine +// Irvine, CA +// USA +// http://doc.ece.uci.edu/ +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#ifndef TAO_IDL_IFR_BASICS_CPP +#define TAO_IDL_IFR_BASICS_CPP + +#include "IFR_BasicS.h" + +#if TAO_HAS_INTERCEPTORS == 1 +#include "tao/RequestInfo_Util.h" +#endif /* TAO_HAS_INTERCEPTORS == 1 */ + +#if defined (__BORLANDC__) +#pragma option -w-rvl -w-rch -w-ccc -w-aus +#endif /* __BORLANDC__ */ + +#if !defined (__ACE_INLINE__) +#include "IFR_BasicS.i" +#endif /* !defined INLINE */ + +class TAO_CORBA_Repository_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 10:44:37 */ +/* 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_CORBA_Repository_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 30, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 5, + 52, 0, 4, 10, 52, 5, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 8, 30, 15, + 52, 0, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 30, 0, 52, 52, 52, 20, 0, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, +#else + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 30, 52, 5, 52, 0, + 4, 10, 52, 5, 52, 52, 52, 52, 8, 30, + 15, 52, 0, 52, 52, 30, 0, 52, 52, 52, + 20, 0, 52, 52, 52, 52, 52, 52, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 29, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 25, + MIN_HASH_VALUE = 11, + MAX_HASH_VALUE = 51, + HASH_VALUE_RANGE = 41, + DUPLICATES = 2 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0}, + {"",0},{"",0}, + {"destroy", &POA_CORBA::Repository::destroy_skel}, + {"create_array", &POA_CORBA::Repository::create_array_skel}, + {"create_struct", &POA_CORBA::Repository::create_struct_skel}, + {"lookup", &POA_CORBA::Repository::lookup_skel}, + {"create_constant", &POA_CORBA::Repository::create_constant_skel}, + {"create_fixed", &POA_CORBA::Repository::create_fixed_skel}, + {"create_string", &POA_CORBA::Repository::create_string_skel}, + {"create_wstring", &POA_CORBA::Repository::create_wstring_skel}, + {"lookup_id", &POA_CORBA::Repository::lookup_id_skel}, + {"create_value", &POA_CORBA::Repository::create_value_skel}, + {"create_module", &POA_CORBA::Repository::create_module_skel}, + {"create_native", &POA_CORBA::Repository::create_native_skel}, + {"create_sequence", &POA_CORBA::Repository::create_sequence_skel}, + {"create_interface", &POA_CORBA::Repository::create_interface_skel}, + {"create_union", &POA_CORBA::Repository::create_union_skel}, + {"get_primitive", &POA_CORBA::Repository::get_primitive_skel}, + {"lookup_name", &POA_CORBA::Repository::lookup_name_skel}, + {"create_exception", &POA_CORBA::Repository::create_exception_skel}, + {"create_local_interface", &POA_CORBA::Repository::create_local_interface_skel}, + {"create_abstract_interface", &POA_CORBA::Repository::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::Repository::create_value_box_skel}, + {"get_canonical_typecode", &POA_CORBA::Repository::get_canonical_typecode_skel}, + {"contents", &POA_CORBA::Repository::contents_skel}, + {"_is_a", &POA_CORBA::Repository::_is_a_skel}, + {"create_enum", &POA_CORBA::Repository::create_enum_skel}, + {"create_alias", &POA_CORBA::Repository::create_alias_skel}, + {"_non_existent", &POA_CORBA::Repository::_non_existent_skel}, + {"_get_def_kind", &POA_CORBA::Repository::_get_def_kind_skel}, + {"describe_contents", &POA_CORBA::Repository::describe_contents_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -21, -2, 11, 12, 13, + 14, 15, 16, -1, 17, 18, -1, 19, 20, -65, -1, 23, 24, 25, + 26, 27, -1, 28, 29, -1, -1, 30, 31, 32, 33, -1, 34, 35, + 36, 37, -1, -1, -1, 38, -1, -1, -1, 39, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_Repository_Perfect_Hash_OpTable tao_CORBA_Repository_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker *POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::the_TAO_Repository_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::_TAO_Repository_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::~_TAO_Repository_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_Repository_Proxy_Impl& +POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::Repository *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_Repository_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_Repository_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_Repository_Proxy_Broker * +CORBA__TAO_Repository_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_Repository_Strategized_Proxy_Broker::the_TAO_Repository_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_Repository_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_Repository_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_Repository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::_TAO_Repository_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::Contained_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::lookup_id ( + CORBA_Object *_collocated_tao_target_, + const char * search_id, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::Contained_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "lookup_id", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->lookup_id ( + search_id, + ACE_TRY_ENV + ); +} + +CORBA::TypeCode_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::get_canonical_typecode ( + CORBA_Object *_collocated_tao_target_, + CORBA::TypeCode_ptr tc, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "get_canonical_typecode", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->get_canonical_typecode ( + tc, + ACE_TRY_ENV + ); +} + +CORBA::PrimitiveDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::get_primitive ( + CORBA_Object *_collocated_tao_target_, + CORBA::PrimitiveKind kind, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::PrimitiveDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "get_primitive", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->get_primitive ( + kind, + ACE_TRY_ENV + ); +} + +CORBA::StringDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::create_string ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::StringDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_string", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->create_string ( + bound, + ACE_TRY_ENV + ); +} + +CORBA::WstringDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::create_wstring ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::WstringDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_wstring", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->create_wstring ( + bound, + ACE_TRY_ENV + ); +} + +CORBA::SequenceDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::create_sequence ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::SequenceDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_sequence", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->create_sequence ( + bound, + element_type, + ACE_TRY_ENV + ); +} + +CORBA::ArrayDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::create_array ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong length, + CORBA::IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ArrayDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_array", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->create_array ( + length, + element_type, + ACE_TRY_ENV + ); +} + +CORBA::FixedDef_ptr POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl::create_fixed ( + CORBA_Object *_collocated_tao_target_, + CORBA::UShort digits, + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::FixedDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_fixed", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::Repository_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/Repository:1.0" + ) + )->create_fixed ( + digits, + scale, + ACE_TRY_ENV + ); +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::Repository::Repository (void) +{ + this->optable_ = &tao_CORBA_Repository_optable; +} + +// copy ctor +POA_CORBA::Repository::Repository (const Repository& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::Repository::~Repository (void) +{ +} + +void POA_CORBA::Repository::lookup_id_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::Contained_var _tao_retval; + CORBA::String_var search_id; + if (!( + (_tao_in >> search_id.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id ri ( + _tao_server_request, + _tao_impl, + search_id.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->lookup_id ( + search_id.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::Contained_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::get_canonical_typecode_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + CORBA::TypeCode_var tc; + if (!( + (_tao_in >> tc.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode ri ( + _tao_server_request, + _tao_impl, + tc.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->get_canonical_typecode ( + tc.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::get_primitive_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::PrimitiveDef_var _tao_retval; + CORBA::PrimitiveKind kind; + if (!( + (_tao_in >> kind) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive ri ( + _tao_server_request, + _tao_impl, + kind, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->get_primitive ( + kind, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::PrimitiveDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::create_string_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::StringDef_var _tao_retval; + CORBA::ULong bound; + if (!( + (_tao_in >> bound) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string ri ( + _tao_server_request, + _tao_impl, + bound, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_string ( + bound, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::StringDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::create_wstring_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::WstringDef_var _tao_retval; + CORBA::ULong bound; + if (!( + (_tao_in >> bound) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring ri ( + _tao_server_request, + _tao_impl, + bound, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_wstring ( + bound, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::WstringDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::create_sequence_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::SequenceDef_var _tao_retval; + CORBA::ULong bound; + CORBA::IDLType_var element_type; + if (!( + (_tao_in >> bound) && + (_tao_in >> element_type.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence ri ( + _tao_server_request, + _tao_impl, + bound, + element_type.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_sequence ( + bound, + element_type.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::SequenceDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::create_array_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::ArrayDef_var _tao_retval; + CORBA::ULong length; + CORBA::IDLType_var element_type; + if (!( + (_tao_in >> length) && + (_tao_in >> element_type.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array ri ( + _tao_server_request, + _tao_impl, + length, + element_type.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_array ( + length, + element_type.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ArrayDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::create_fixed_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *)_tao_object_reference; + + CORBA::FixedDef_var _tao_retval; + CORBA::UShort digits; + CORBA::Short scale; + if (!( + (_tao_in >> digits) && + (_tao_in >> scale) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed ri ( + _tao_server_request, + _tao_impl, + digits, + scale, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_fixed ( + digits, + scale, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::FixedDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::Repository::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::Repository::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::Repository *_tao_impl = (POA_CORBA::Repository *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::Repository::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Repository:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::Repository::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Repository:1.0") == 0) + return ACE_static_cast (POA_CORBA::Repository_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::Repository::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::Repository::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/Repository:1.0"; +} + +CORBA::Repository* +POA_CORBA::Repository::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::Repository::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::TAO_ServerRequestInfo_CORBA_Repository_lookup_id ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const char * search_id, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + search_id_ (search_id) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_search_id = parameter_list->length (); + parameter_list->length (length_search_id + 1); + (*parameter_list)[length_search_id].argument <<= search_id_; + (*parameter_list)[length_search_id].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_lookup_id::result (CORBA::Contained_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + CORBA::TypeCode_ptr tc, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + tc_ (tc) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_tc = parameter_list->length (); + parameter_list->length (length_tc + 1); + (*parameter_list)[length_tc].argument <<= tc_; + (*parameter_list)[length_tc].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::TAO_ServerRequestInfo_CORBA_Repository_get_primitive ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + CORBA::PrimitiveKind & kind, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + kind_ (kind) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_kind = parameter_list->length (); + parameter_list->length (length_kind + 1); + (*parameter_list)[length_kind].argument <<= this->kind_; + + (*parameter_list)[length_kind].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_get_primitive::result (CORBA::PrimitiveDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::TAO_ServerRequestInfo_CORBA_Repository_create_string ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const CORBA::ULong & bound, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_string::result (CORBA::StringDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::TAO_ServerRequestInfo_CORBA_Repository_create_wstring ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const CORBA::ULong & bound, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_wstring::result (CORBA::WstringDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::TAO_ServerRequestInfo_CORBA_Repository_create_sequence ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const CORBA::ULong & bound, + CORBA::IDLType_ptr element_type, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound), + element_type_ (element_type) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_element_type = parameter_list->length (); + parameter_list->length (length_element_type + 1); + (*parameter_list)[length_element_type].argument <<= this->element_type_; + + (*parameter_list)[length_element_type].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_sequence::result (CORBA::SequenceDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::TAO_ServerRequestInfo_CORBA_Repository_create_array ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const CORBA::ULong & length, + CORBA::IDLType_ptr element_type, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + length_ (length), + element_type_ (element_type) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_length = parameter_list->length (); + parameter_list->length (length_length + 1); + (*parameter_list)[length_length].argument <<= length_; + (*parameter_list)[length_length].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_element_type = parameter_list->length (); + parameter_list->length (length_element_type + 1); + (*parameter_list)[length_element_type].argument <<= this->element_type_; + + (*parameter_list)[length_element_type].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_array::result (CORBA::ArrayDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::TAO_ServerRequestInfo_CORBA_Repository_create_fixed ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::Repository *tao_impl, + const CORBA::UShort & digits, + const CORBA::Short & scale, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + digits_ (digits), + scale_ (scale) +{} + +Dynamic::ParameterList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_digits = parameter_list->length (); + parameter_list->length (length_digits + 1); + (*parameter_list)[length_digits].argument <<= digits_; + (*parameter_list)[length_digits].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_scale = parameter_list->length (); + parameter_list->length (length_scale + 1); + (*parameter_list)[length_scale].argument <<= scale_; + (*parameter_list)[length_scale].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::Repository::TAO_ServerRequestInfo_CORBA_Repository_create_fixed::result (CORBA::FixedDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_ModuleDef_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 10:44:37 */ +/* 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_CORBA_ModuleDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 10, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, + 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 15, 0, 15, + 48, 20, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 30, 20, 48, 48, 48, 5, 0, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, +#else + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 10, 48, 0, 48, 0, + 0, 0, 48, 48, 48, 48, 48, 48, 15, 0, + 15, 48, 20, 48, 48, 30, 20, 48, 48, 48, + 5, 0, 48, 48, 48, 48, 48, 48, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 32, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 47, + HASH_VALUE_RANGE = 44, + DUPLICATES = 5 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::ModuleDef::move_skel}, + {"destroy", &POA_CORBA::ModuleDef::destroy_skel}, + {"describe", &POA_CORBA::ModuleDef::describe_skel}, + {"create_enum", &POA_CORBA::ModuleDef::create_enum_skel}, + {"create_value", &POA_CORBA::ModuleDef::create_value_skel}, + {"create_module", &POA_CORBA::ModuleDef::create_module_skel}, + {"create_native", &POA_CORBA::ModuleDef::create_native_skel}, + {"_is_a", &POA_CORBA::ModuleDef::_is_a_skel}, + {"create_interface", &POA_CORBA::ModuleDef::create_interface_skel}, + {"_get_id", &POA_CORBA::ModuleDef::_get_id_skel}, + {"_set_id", &POA_CORBA::ModuleDef::_set_id_skel}, + {"_get_name", &POA_CORBA::ModuleDef::_get_name_skel}, + {"_set_name", &POA_CORBA::ModuleDef::_set_name_skel}, + {"create_value_box", &POA_CORBA::ModuleDef::create_value_box_skel}, + {"create_local_interface", &POA_CORBA::ModuleDef::create_local_interface_skel}, + {"_get_def_kind", &POA_CORBA::ModuleDef::_get_def_kind_skel}, + {"create_abstract_interface", &POA_CORBA::ModuleDef::create_abstract_interface_skel}, + {"lookup_name", &POA_CORBA::ModuleDef::lookup_name_skel}, + {"create_union", &POA_CORBA::ModuleDef::create_union_skel}, + {"_get_absolute_name", &POA_CORBA::ModuleDef::_get_absolute_name_skel}, + {"create_exception", &POA_CORBA::ModuleDef::create_exception_skel}, + {"create_struct", &POA_CORBA::ModuleDef::create_struct_skel}, + {"create_constant", &POA_CORBA::ModuleDef::create_constant_skel}, + {"_get_containing_repository", &POA_CORBA::ModuleDef::_get_containing_repository_skel}, + {"_get_version", &POA_CORBA::ModuleDef::_get_version_skel}, + {"_set_version", &POA_CORBA::ModuleDef::_set_version_skel}, + {"contents", &POA_CORBA::ModuleDef::contents_skel}, + {"_get_defined_in", &POA_CORBA::ModuleDef::_get_defined_in_skel}, + {"lookup", &POA_CORBA::ModuleDef::lookup_skel}, + {"create_alias", &POA_CORBA::ModuleDef::create_alias_skel}, + {"_non_existent", &POA_CORBA::ModuleDef::_non_existent_skel}, + {"describe_contents", &POA_CORBA::ModuleDef::describe_contents_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -9, -2, 4, -13, -2, 5, 6, -15, -2, 7, 8, -58, + -1, 11, 12, -59, -1, -57, -1, 17, 18, 19, -1, 20, 21, 22, + 23, -28, -2, 24, -1, 25, -1, 26, 27, -55, 30, -1, 31, 32, + 33, 34, -1, -1, -1, 35, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_ModuleDef_Perfect_Hash_OpTable tao_CORBA_ModuleDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::the_TAO_ModuleDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::_TAO_ModuleDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::~_TAO_ModuleDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_ModuleDef_Proxy_Impl& +POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::ModuleDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_ModuleDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_ModuleDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_ModuleDef_Proxy_Broker * +CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_ModuleDef_Strategized_Proxy_Broker::the_TAO_ModuleDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_ModuleDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_TAO_ModuleDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::ModuleDef::ModuleDef (void) +{ + this->optable_ = &tao_CORBA_ModuleDef_optable; +} + +// copy ctor +POA_CORBA::ModuleDef::ModuleDef (const ModuleDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::ModuleDef::~ModuleDef (void) +{ +} + +void POA_CORBA::ModuleDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ModuleDef *_tao_impl = (POA_CORBA::ModuleDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::ModuleDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ModuleDef *_tao_impl = (POA_CORBA::ModuleDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::ModuleDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ModuleDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::ModuleDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ModuleDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::ModuleDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::ModuleDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::ModuleDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/ModuleDef:1.0"; +} + +CORBA::ModuleDef* +POA_CORBA::ModuleDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::ModuleDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_ConstantDef_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 10:44:37 */ +/* 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_CORBA_ConstantDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 0, 0, 10, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 15, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 0, 0, 10, 37, 37, 37, 37, 37, 37, 0, + 0, 37, 37, 37, 37, 37, 15, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 20, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 7 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::ConstantDef::move_skel}, + {"_is_a", &POA_CORBA::ConstantDef::_is_a_skel}, + {"_get_id", &POA_CORBA::ConstantDef::_get_id_skel}, + {"_set_id", &POA_CORBA::ConstantDef::_set_id_skel}, + {"describe", &POA_CORBA::ConstantDef::describe_skel}, + {"_get_type", &POA_CORBA::ConstantDef::_get_type_skel}, + {"_set_name", &POA_CORBA::ConstantDef::_set_name_skel}, + {"_get_name", &POA_CORBA::ConstantDef::_get_name_skel}, + {"_get_value", &POA_CORBA::ConstantDef::_get_value_skel}, + {"_set_value", &POA_CORBA::ConstantDef::_set_value_skel}, + {"_get_version", &POA_CORBA::ConstantDef::_get_version_skel}, + {"_set_version", &POA_CORBA::ConstantDef::_set_version_skel}, + {"_get_def_kind", &POA_CORBA::ConstantDef::_get_def_kind_skel}, + {"_get_defined_in", &POA_CORBA::ConstantDef::_get_defined_in_skel}, + {"destroy", &POA_CORBA::ConstantDef::destroy_skel}, + {"_get_absolute_name", &POA_CORBA::ConstantDef::_get_absolute_name_skel}, + {"_get_type_def", &POA_CORBA::ConstantDef::_get_type_def_skel}, + {"_set_type_def", &POA_CORBA::ConstantDef::_set_type_def_skel}, + {"_non_existent", &POA_CORBA::ConstantDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::ConstantDef::_get_containing_repository_skel}, + }; + + static const signed char lookup[] = + { + -12, -2, -14, -2, 4, 5, -1, 53, 8, 46, -46, -1, -46, 16, + -1, 17, -1, 18, 19, -9, -3, -20, -2, -38, -6, -2, -1, -1, + 22, -1, -1, -1, -1, -1, -1, -1, 23, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_ConstantDef_Perfect_Hash_OpTable tao_CORBA_ConstantDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::the_TAO_ConstantDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::_TAO_ConstantDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::~_TAO_ConstantDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_ConstantDef_Proxy_Impl& +POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::ConstantDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_ConstantDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_ConstantDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_ConstantDef_Proxy_Broker * +CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_ConstantDef_Strategized_Proxy_Broker::the_TAO_ConstantDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_ConstantDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::_TAO_ConstantDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::TypeCode_ptr POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ConstantDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ConstantDef:1.0" + ) + )->type ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ConstantDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ConstantDef:1.0" + ) + )->type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::ConstantDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ConstantDef:1.0" + ) + )->type_def ( + type_def, + ACE_TRY_ENV + ); + return; +} + +CORBA::Any * POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::value ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::Any_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "value", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ConstantDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ConstantDef:1.0" + ) + )->value ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_ConstantDef_ThruPOA_Proxy_Impl::value ( + CORBA_Object *_collocated_tao_target_, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "value", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::ConstantDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ConstantDef:1.0" + ) + )->value ( + value, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::ConstantDef::ConstantDef (void) +{ + this->optable_ = &tao_CORBA_ConstantDef_optable; +} + +// copy ctor +POA_CORBA::ConstantDef::ConstantDef (const ConstantDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::ConstantDef::~ConstantDef (void) +{ +} + +void POA_CORBA::ConstantDef::_get_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ConstantDef::_get_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ConstantDef::_set_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var type_def; + if (!( + (_tao_in >> type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set ri ( + _tao_server_request, + _tao_impl, + type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->type_def ( + type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ConstantDef::_get_value_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *)_tao_object_reference; + + CORBA::Any_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->value ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::Any * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ConstantDef::_set_value_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::Any value; + if (!( + (_tao_in >> value) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set ri ( + _tao_server_request, + _tao_impl, + value, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->value ( + value, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ConstantDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::ConstantDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ConstantDef *_tao_impl = (POA_CORBA::ConstantDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::ConstantDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ConstantDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::ConstantDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ConstantDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::ConstantDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::ConstantDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::ConstantDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/ConstantDef:1.0"; +} + +CORBA::ConstantDef* +POA_CORBA::ConstantDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::ConstantDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ConstantDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ConstantDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ConstantDef *tao_impl, + CORBA::IDLType_ptr type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + type_def_ (type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_type_def = parameter_list->length (); + parameter_list->length (length_type_def + 1); + (*parameter_list)[length_type_def].argument <<= this->type_def_; + + (*parameter_list)[length_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ConstantDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::result (CORBA::Any * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ConstantDef *tao_impl, + const CORBA::Any & value, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + value_ (value) +{} + +Dynamic::ParameterList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_value = parameter_list->length (); + parameter_list->length (length_value + 1); + (*parameter_list)[length_value].argument <<= value_; + (*parameter_list)[length_value].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ConstantDef::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_StructDef_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 10:44:37 */ +/* 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_CORBA_StructDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_StructDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 25, 3, 0, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 10, 0, 5, + 61, 10, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 20, 20, 61, 61, 61, 10, 5, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, +#else + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 0, 61, 0, 61, 25, + 3, 0, 61, 61, 61, 61, 61, 61, 10, 0, + 5, 61, 10, 61, 61, 20, 20, 61, 61, 61, + 10, 5, 61, 61, 61, 61, 61, 61, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_StructDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 35, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 60, + HASH_VALUE_RANGE = 57, + DUPLICATES = 7 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::StructDef::move_skel}, + {"_is_a", &POA_CORBA::StructDef::_is_a_skel}, + {"_get_name", &POA_CORBA::StructDef::_get_name_skel}, + {"_get_type", &POA_CORBA::StructDef::_get_type_skel}, + {"_set_name", &POA_CORBA::StructDef::_set_name_skel}, + {"_get_id", &POA_CORBA::StructDef::_get_id_skel}, + {"_set_id", &POA_CORBA::StructDef::_set_id_skel}, + {"describe", &POA_CORBA::StructDef::describe_skel}, + {"destroy", &POA_CORBA::StructDef::destroy_skel}, + {"_get_def_kind", &POA_CORBA::StructDef::_get_def_kind_skel}, + {"_get_version", &POA_CORBA::StructDef::_get_version_skel}, + {"_set_version", &POA_CORBA::StructDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::StructDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::StructDef::_get_defined_in_skel}, + {"lookup_name", &POA_CORBA::StructDef::lookup_name_skel}, + {"lookup", &POA_CORBA::StructDef::lookup_skel}, + {"_get_containing_repository", &POA_CORBA::StructDef::_get_containing_repository_skel}, + {"_get_members", &POA_CORBA::StructDef::_get_members_skel}, + {"_set_members", &POA_CORBA::StructDef::_set_members_skel}, + {"_non_existent", &POA_CORBA::StructDef::_non_existent_skel}, + {"create_enum", &POA_CORBA::StructDef::create_enum_skel}, + {"create_value", &POA_CORBA::StructDef::create_value_skel}, + {"create_module", &POA_CORBA::StructDef::create_module_skel}, + {"create_native", &POA_CORBA::StructDef::create_native_skel}, + {"describe_contents", &POA_CORBA::StructDef::describe_contents_skel}, + {"create_interface", &POA_CORBA::StructDef::create_interface_skel}, + {"create_union", &POA_CORBA::StructDef::create_union_skel}, + {"create_exception", &POA_CORBA::StructDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::StructDef::create_local_interface_skel}, + {"create_abstract_interface", &POA_CORBA::StructDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::StructDef::create_value_box_skel}, + {"contents", &POA_CORBA::StructDef::contents_skel}, + {"create_alias", &POA_CORBA::StructDef::create_alias_skel}, + {"create_struct", &POA_CORBA::StructDef::create_struct_skel}, + {"create_constant", &POA_CORBA::StructDef::create_constant_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -6, -3, 4, 5, -1, -9, -2, -67, -63, 11, -1, -14, + -2, 12, 13, -64, 16, -1, 17, 18, -1, -1, -1, -1, 19, -1, + -1, -21, -2, 20, -63, 23, -26, -2, 24, 25, -64, -1, 28, 29, + 30, -1, -1, -1, 31, 32, -1, -1, 33, 34, -1, 35, -1, -1, + -1, 36, 37, -1, 38, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_StructDef_Perfect_Hash_OpTable tao_CORBA_StructDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::the_TAO_StructDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::_TAO_StructDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::~_TAO_StructDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_StructDef_Proxy_Impl& +POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::StructDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_StructDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_StructDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_StructDef_Proxy_Broker * +CORBA__TAO_StructDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_StructDef_Strategized_Proxy_Broker::the_TAO_StructDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_StructDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_StructDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_StructDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_StructDef_ThruPOA_Proxy_Impl::_TAO_StructDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::StructMemberSeq * POA_CORBA::_TAO_StructDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::StructMemberSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::StructDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/StructDef:1.0" + ) + )->members ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_StructDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + const CORBA::StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::StructDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/StructDef:1.0" + ) + )->members ( + members, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::StructDef::StructDef (void) +{ + this->optable_ = &tao_CORBA_StructDef_optable; +} + +// copy ctor +POA_CORBA::StructDef::StructDef (const StructDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,TypedefDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::StructDef::~StructDef (void) +{ +} + +void POA_CORBA::StructDef::_get_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::StructDef *_tao_impl = (POA_CORBA::StructDef *)_tao_object_reference; + + CORBA::StructMemberSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->members ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::StructMemberSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::StructDef::_set_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::StructDef *_tao_impl = (POA_CORBA::StructDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::StructMemberSeq members; + if (!( + (_tao_in >> members) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set ri ( + _tao_server_request, + _tao_impl, + members, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->members ( + members, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::StructDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::StructDef *_tao_impl = (POA_CORBA::StructDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::StructDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::StructDef *_tao_impl = (POA_CORBA::StructDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::StructDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/StructDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::StructDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/StructDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::StructDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::TypedefDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::StructDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::StructDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/StructDef:1.0"; +} + +CORBA::StructDef* +POA_CORBA::StructDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::StructDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::TAO_ServerRequestInfo_CORBA_StructDef_members_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::StructDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_get::result (CORBA::StructMemberSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::TAO_ServerRequestInfo_CORBA_StructDef_members_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::StructDef *tao_impl, + const CORBA::StructMemberSeq & members, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + members_ (members) +{} + +Dynamic::ParameterList * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_members = parameter_list->length (); + parameter_list->length (length_members + 1); + (*parameter_list)[length_members].argument <<= this->members_; + + (*parameter_list)[length_members].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::StructDef::TAO_ServerRequestInfo_CORBA_StructDef_members_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_UnionDef_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 10:44:37 */ +/* 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_CORBA_UnionDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_UnionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 25, 3, 0, 0, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 10, 0, 5, + 61, 10, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 20, 20, 61, 61, 61, 10, 5, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, +#else + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 0, 61, 0, 61, 25, + 3, 0, 0, 61, 61, 61, 61, 61, 10, 0, + 5, 61, 10, 61, 61, 20, 20, 61, 61, 61, + 10, 5, 61, 61, 61, 61, 61, 61, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_UnionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 38, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 27, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 60, + HASH_VALUE_RANGE = 57, + DUPLICATES = 8 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::UnionDef::move_skel}, + {"_is_a", &POA_CORBA::UnionDef::_is_a_skel}, + {"_get_name", &POA_CORBA::UnionDef::_get_name_skel}, + {"_get_type", &POA_CORBA::UnionDef::_get_type_skel}, + {"_set_name", &POA_CORBA::UnionDef::_set_name_skel}, + {"_get_id", &POA_CORBA::UnionDef::_get_id_skel}, + {"_set_id", &POA_CORBA::UnionDef::_set_id_skel}, + {"describe", &POA_CORBA::UnionDef::describe_skel}, + {"destroy", &POA_CORBA::UnionDef::destroy_skel}, + {"_get_def_kind", &POA_CORBA::UnionDef::_get_def_kind_skel}, + {"_get_version", &POA_CORBA::UnionDef::_get_version_skel}, + {"_set_version", &POA_CORBA::UnionDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::UnionDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::UnionDef::_get_defined_in_skel}, + {"lookup_name", &POA_CORBA::UnionDef::lookup_name_skel}, + {"_get_discriminator_type", &POA_CORBA::UnionDef::_get_discriminator_type_skel}, + {"lookup", &POA_CORBA::UnionDef::lookup_skel}, + {"_get_discriminator_type_def", &POA_CORBA::UnionDef::_get_discriminator_type_def_skel}, + {"_set_discriminator_type_def", &POA_CORBA::UnionDef::_set_discriminator_type_def_skel}, + {"_get_containing_repository", &POA_CORBA::UnionDef::_get_containing_repository_skel}, + {"_get_members", &POA_CORBA::UnionDef::_get_members_skel}, + {"_set_members", &POA_CORBA::UnionDef::_set_members_skel}, + {"_non_existent", &POA_CORBA::UnionDef::_non_existent_skel}, + {"create_enum", &POA_CORBA::UnionDef::create_enum_skel}, + {"create_value", &POA_CORBA::UnionDef::create_value_skel}, + {"create_module", &POA_CORBA::UnionDef::create_module_skel}, + {"create_native", &POA_CORBA::UnionDef::create_native_skel}, + {"describe_contents", &POA_CORBA::UnionDef::describe_contents_skel}, + {"create_interface", &POA_CORBA::UnionDef::create_interface_skel}, + {"create_union", &POA_CORBA::UnionDef::create_union_skel}, + {"create_exception", &POA_CORBA::UnionDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::UnionDef::create_local_interface_skel}, + {"create_abstract_interface", &POA_CORBA::UnionDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::UnionDef::create_value_box_skel}, + {"contents", &POA_CORBA::UnionDef::contents_skel}, + {"create_alias", &POA_CORBA::UnionDef::create_alias_skel}, + {"create_struct", &POA_CORBA::UnionDef::create_struct_skel}, + {"create_constant", &POA_CORBA::UnionDef::create_constant_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -6, -3, 4, 5, -1, -9, -2, -67, -63, 11, -1, -14, + -2, 12, 13, -64, 16, -1, 17, 18, -1, 19, -21, -2, 20, -63, + -1, -24, -2, 23, -63, 26, -29, -2, 27, 28, -64, -1, 31, 32, + 33, -1, -1, -1, 34, 35, -1, -1, 36, 37, -1, 38, -1, -1, + -1, 39, 40, -1, 41, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_UnionDef_Perfect_Hash_OpTable tao_CORBA_UnionDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::the_TAO_UnionDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::_TAO_UnionDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::~_TAO_UnionDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_UnionDef_Proxy_Impl& +POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::UnionDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_UnionDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_UnionDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_UnionDef_Proxy_Broker * +CORBA__TAO_UnionDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_UnionDef_Strategized_Proxy_Broker::the_TAO_UnionDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_UnionDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_UnionDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_UnionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::_TAO_UnionDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::TypeCode_ptr POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::discriminator_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "discriminator_type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::UnionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/UnionDef:1.0" + ) + )->discriminator_type ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::discriminator_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "discriminator_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::UnionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/UnionDef:1.0" + ) + )->discriminator_type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::discriminator_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr discriminator_type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "discriminator_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::UnionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/UnionDef:1.0" + ) + )->discriminator_type_def ( + discriminator_type_def, + ACE_TRY_ENV + ); + return; +} + +CORBA::UnionMemberSeq * POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::UnionMemberSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::UnionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/UnionDef:1.0" + ) + )->members ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_UnionDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + const CORBA::UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::UnionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/UnionDef:1.0" + ) + )->members ( + members, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::UnionDef::UnionDef (void) +{ + this->optable_ = &tao_CORBA_UnionDef_optable; +} + +// copy ctor +POA_CORBA::UnionDef::UnionDef (const UnionDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,TypedefDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::UnionDef::~UnionDef (void) +{ +} + +void POA_CORBA::UnionDef::_get_discriminator_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->discriminator_type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::UnionDef::_get_discriminator_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->discriminator_type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::UnionDef::_set_discriminator_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var discriminator_type_def; + if (!( + (_tao_in >> discriminator_type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set ri ( + _tao_server_request, + _tao_impl, + discriminator_type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->discriminator_type_def ( + discriminator_type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::UnionDef::_get_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *)_tao_object_reference; + + CORBA::UnionMemberSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->members ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::UnionMemberSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::UnionDef::_set_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::UnionMemberSeq members; + if (!( + (_tao_in >> members) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set ri ( + _tao_server_request, + _tao_impl, + members, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->members ( + members, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::UnionDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::UnionDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::UnionDef *_tao_impl = (POA_CORBA::UnionDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::UnionDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/UnionDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::UnionDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/UnionDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::UnionDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::TypedefDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::UnionDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::UnionDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/UnionDef:1.0"; +} + +CORBA::UnionDef* +POA_CORBA::UnionDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::UnionDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::UnionDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::UnionDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::UnionDef *tao_impl, + CORBA::IDLType_ptr discriminator_type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + discriminator_type_def_ (discriminator_type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_discriminator_type_def = parameter_list->length (); + parameter_list->length (length_discriminator_type_def + 1); + (*parameter_list)[length_discriminator_type_def].argument <<= this->discriminator_type_def_; + + (*parameter_list)[length_discriminator_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::TAO_ServerRequestInfo_CORBA_UnionDef_members_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::UnionDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_get::result (CORBA::UnionMemberSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::TAO_ServerRequestInfo_CORBA_UnionDef_members_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::UnionDef *tao_impl, + const CORBA::UnionMemberSeq & members, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + members_ (members) +{} + +Dynamic::ParameterList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_members = parameter_list->length (); + parameter_list->length (length_members + 1); + (*parameter_list)[length_members].argument <<= this->members_; + + (*parameter_list)[length_members].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::UnionDef::TAO_ServerRequestInfo_CORBA_UnionDef_members_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_EnumDef_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 10:44:37 */ +/* 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_CORBA_EnumDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_EnumDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 10, 10, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, + 0, 37, 37, 37, 37, 10, 10, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_EnumDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 18, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 6 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::EnumDef::move_skel}, + {"_is_a", &POA_CORBA::EnumDef::_is_a_skel}, + {"_get_id", &POA_CORBA::EnumDef::_get_id_skel}, + {"_set_id", &POA_CORBA::EnumDef::_set_id_skel}, + {"describe", &POA_CORBA::EnumDef::describe_skel}, + {"_get_name", &POA_CORBA::EnumDef::_get_name_skel}, + {"_get_type", &POA_CORBA::EnumDef::_get_type_skel}, + {"_set_name", &POA_CORBA::EnumDef::_set_name_skel}, + {"_get_version", &POA_CORBA::EnumDef::_get_version_skel}, + {"_set_version", &POA_CORBA::EnumDef::_set_version_skel}, + {"_get_def_kind", &POA_CORBA::EnumDef::_get_def_kind_skel}, + {"_get_defined_in", &POA_CORBA::EnumDef::_get_defined_in_skel}, + {"destroy", &POA_CORBA::EnumDef::destroy_skel}, + {"_get_absolute_name", &POA_CORBA::EnumDef::_get_absolute_name_skel}, + {"_get_members", &POA_CORBA::EnumDef::_get_members_skel}, + {"_set_members", &POA_CORBA::EnumDef::_set_members_skel}, + {"_non_existent", &POA_CORBA::EnumDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::EnumDef::_get_containing_repository_skel}, + }; + + static const signed char lookup[] = + { + -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14, + -1, 15, -1, 16, 17, -1, -18, -2, -38, 20, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 21, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_EnumDef_Perfect_Hash_OpTable tao_CORBA_EnumDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::the_TAO_EnumDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::_TAO_EnumDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::~_TAO_EnumDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_EnumDef_Proxy_Impl& +POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::EnumDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_EnumDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_EnumDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_EnumDef_Proxy_Broker * +CORBA__TAO_EnumDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_EnumDef_Strategized_Proxy_Broker::the_TAO_EnumDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_EnumDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_EnumDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_EnumDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_EnumDef_ThruPOA_Proxy_Impl::_TAO_EnumDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::EnumMemberSeq * POA_CORBA::_TAO_EnumDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::EnumMemberSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::EnumDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/EnumDef:1.0" + ) + )->members ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_EnumDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + const CORBA::EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::EnumDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/EnumDef:1.0" + ) + )->members ( + members, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::EnumDef::EnumDef (void) +{ + this->optable_ = &tao_CORBA_EnumDef_optable; +} + +// copy ctor +POA_CORBA::EnumDef::EnumDef (const EnumDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,TypedefDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::EnumDef::~EnumDef (void) +{ +} + +void POA_CORBA::EnumDef::_get_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::EnumDef *_tao_impl = (POA_CORBA::EnumDef *)_tao_object_reference; + + CORBA::EnumMemberSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->members ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::EnumMemberSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::EnumDef::_set_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::EnumDef *_tao_impl = (POA_CORBA::EnumDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::EnumMemberSeq members; + if (!( + (_tao_in >> members) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set ri ( + _tao_server_request, + _tao_impl, + members, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->members ( + members, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::EnumDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::EnumDef *_tao_impl = (POA_CORBA::EnumDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::EnumDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::EnumDef *_tao_impl = (POA_CORBA::EnumDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::EnumDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/EnumDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::EnumDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/EnumDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::EnumDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::TypedefDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::EnumDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::EnumDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/EnumDef:1.0"; +} + +CORBA::EnumDef* +POA_CORBA::EnumDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::EnumDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::TAO_ServerRequestInfo_CORBA_EnumDef_members_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::EnumDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_get::result (CORBA::EnumMemberSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::TAO_ServerRequestInfo_CORBA_EnumDef_members_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::EnumDef *tao_impl, + const CORBA::EnumMemberSeq & members, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + members_ (members) +{} + +Dynamic::ParameterList * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_members = parameter_list->length (); + parameter_list->length (length_members + 1); + (*parameter_list)[length_members].argument <<= this->members_; + + (*parameter_list)[length_members].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::EnumDef::TAO_ServerRequestInfo_CORBA_EnumDef_members_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_AliasDef_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 10:44:37 */ +/* 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_CORBA_AliasDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_AliasDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 0, 0, 0, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 0, 0, 0, 37, 37, 37, 37, 37, 37, 0, + 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_AliasDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 18, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 6 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::AliasDef::move_skel}, + {"_is_a", &POA_CORBA::AliasDef::_is_a_skel}, + {"_get_id", &POA_CORBA::AliasDef::_get_id_skel}, + {"_set_id", &POA_CORBA::AliasDef::_set_id_skel}, + {"describe", &POA_CORBA::AliasDef::describe_skel}, + {"_get_name", &POA_CORBA::AliasDef::_get_name_skel}, + {"_get_type", &POA_CORBA::AliasDef::_get_type_skel}, + {"_set_name", &POA_CORBA::AliasDef::_set_name_skel}, + {"_get_version", &POA_CORBA::AliasDef::_get_version_skel}, + {"_set_version", &POA_CORBA::AliasDef::_set_version_skel}, + {"_get_def_kind", &POA_CORBA::AliasDef::_get_def_kind_skel}, + {"_get_defined_in", &POA_CORBA::AliasDef::_get_defined_in_skel}, + {"destroy", &POA_CORBA::AliasDef::destroy_skel}, + {"_get_absolute_name", &POA_CORBA::AliasDef::_get_absolute_name_skel}, + {"_get_original_type_def", &POA_CORBA::AliasDef::_get_original_type_def_skel}, + {"_set_original_type_def", &POA_CORBA::AliasDef::_set_original_type_def_skel}, + {"_non_existent", &POA_CORBA::AliasDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::AliasDef::_get_containing_repository_skel}, + }; + + static const signed char lookup[] = + { + -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14, + -1, 15, -1, 16, 17, -1, -18, -2, -38, 20, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 21, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_AliasDef_Perfect_Hash_OpTable tao_CORBA_AliasDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::the_TAO_AliasDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::_TAO_AliasDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::~_TAO_AliasDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_AliasDef_Proxy_Impl& +POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::AliasDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_AliasDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_AliasDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_AliasDef_Proxy_Broker * +CORBA__TAO_AliasDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_AliasDef_Strategized_Proxy_Broker::the_TAO_AliasDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_AliasDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_AliasDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_AliasDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_AliasDef_ThruPOA_Proxy_Impl::_TAO_AliasDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::IDLType_ptr POA_CORBA::_TAO_AliasDef_ThruPOA_Proxy_Impl::original_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "original_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::AliasDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AliasDef:1.0" + ) + )->original_type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_AliasDef_ThruPOA_Proxy_Impl::original_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "original_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::AliasDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AliasDef:1.0" + ) + )->original_type_def ( + original_type_def, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::AliasDef::AliasDef (void) +{ + this->optable_ = &tao_CORBA_AliasDef_optable; +} + +// copy ctor +POA_CORBA::AliasDef::AliasDef (const AliasDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,TypedefDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::AliasDef::~AliasDef (void) +{ +} + +void POA_CORBA::AliasDef::_get_original_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AliasDef *_tao_impl = (POA_CORBA::AliasDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->original_type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AliasDef::_set_original_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AliasDef *_tao_impl = (POA_CORBA::AliasDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var original_type_def; + if (!( + (_tao_in >> original_type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set ri ( + _tao_server_request, + _tao_impl, + original_type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->original_type_def ( + original_type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AliasDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AliasDef *_tao_impl = (POA_CORBA::AliasDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::AliasDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AliasDef *_tao_impl = (POA_CORBA::AliasDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::AliasDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AliasDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::AliasDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AliasDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::AliasDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::TypedefDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::AliasDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::AliasDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/AliasDef:1.0"; +} + +CORBA::AliasDef* +POA_CORBA::AliasDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::AliasDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AliasDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AliasDef *tao_impl, + CORBA::IDLType_ptr original_type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + original_type_def_ (original_type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_original_type_def = parameter_list->length (); + parameter_list->length (length_original_type_def + 1); + (*parameter_list)[length_original_type_def].argument <<= this->original_type_def_; + + (*parameter_list)[length_original_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AliasDef::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_NativeDef_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 10:44:37 */ +/* 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_CORBA_NativeDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_NativeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, + 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_NativeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 16, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 5 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::NativeDef::move_skel}, + {"_is_a", &POA_CORBA::NativeDef::_is_a_skel}, + {"_get_id", &POA_CORBA::NativeDef::_get_id_skel}, + {"_set_id", &POA_CORBA::NativeDef::_set_id_skel}, + {"describe", &POA_CORBA::NativeDef::describe_skel}, + {"_get_name", &POA_CORBA::NativeDef::_get_name_skel}, + {"_get_type", &POA_CORBA::NativeDef::_get_type_skel}, + {"_set_name", &POA_CORBA::NativeDef::_set_name_skel}, + {"_get_version", &POA_CORBA::NativeDef::_get_version_skel}, + {"_set_version", &POA_CORBA::NativeDef::_set_version_skel}, + {"_get_def_kind", &POA_CORBA::NativeDef::_get_def_kind_skel}, + {"_get_defined_in", &POA_CORBA::NativeDef::_get_defined_in_skel}, + {"destroy", &POA_CORBA::NativeDef::destroy_skel}, + {"_get_absolute_name", &POA_CORBA::NativeDef::_get_absolute_name_skel}, + {"_non_existent", &POA_CORBA::NativeDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::NativeDef::_get_containing_repository_skel}, + }; + + static const signed char lookup[] = + { + -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14, + -1, 15, -1, 16, 17, -1, -1, -1, -1, 18, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 19, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_NativeDef_Perfect_Hash_OpTable tao_CORBA_NativeDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::the_TAO_NativeDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::_TAO_NativeDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::~_TAO_NativeDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_NativeDef_Proxy_Impl& +POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::NativeDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_NativeDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_NativeDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_NativeDef_Proxy_Broker * +CORBA__TAO_NativeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_NativeDef_Strategized_Proxy_Broker::the_TAO_NativeDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_NativeDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_NativeDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_NativeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_NativeDef_ThruPOA_Proxy_Impl::_TAO_NativeDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::NativeDef::NativeDef (void) +{ + this->optable_ = &tao_CORBA_NativeDef_optable; +} + +// copy ctor +POA_CORBA::NativeDef::NativeDef (const NativeDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,TypedefDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::NativeDef::~NativeDef (void) +{ +} + +void POA_CORBA::NativeDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::NativeDef *_tao_impl = (POA_CORBA::NativeDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::NativeDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::NativeDef *_tao_impl = (POA_CORBA::NativeDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::NativeDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/NativeDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::NativeDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/NativeDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::NativeDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::TypedefDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::NativeDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::NativeDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/NativeDef:1.0"; +} + +CORBA::NativeDef* +POA_CORBA::NativeDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::NativeDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_PrimitiveDef_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 10:44:37 */ +/* 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_CORBA_PrimitiveDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 0, 5, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 5, 19, 19, 19, 19, 0, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, +#else + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, + 0, 5, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, + 19, 0, 19, 19, 19, 19, 19, 19, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 6, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 18, + HASH_VALUE_RANGE = 14, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_CORBA::PrimitiveDef::_is_a_skel}, + {"",0}, + {"destroy", &POA_CORBA::PrimitiveDef::destroy_skel}, + {"",0}, + {"_get_kind", &POA_CORBA::PrimitiveDef::_get_kind_skel}, + {"",0},{"",0},{"",0}, + {"_get_def_kind", &POA_CORBA::PrimitiveDef::_get_def_kind_skel}, + {"_get_type", &POA_CORBA::PrimitiveDef::_get_type_skel}, + {"",0},{"",0},{"",0}, + {"_non_existent", &POA_CORBA::PrimitiveDef::_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 10:44:37 */ +static TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable tao_CORBA_PrimitiveDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::the_TAO_PrimitiveDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::_TAO_PrimitiveDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::~_TAO_PrimitiveDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_PrimitiveDef_Proxy_Impl& +POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::PrimitiveDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_PrimitiveDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_PrimitiveDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_PrimitiveDef_Proxy_Broker * +CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_PrimitiveDef_Strategized_Proxy_Broker::the_TAO_PrimitiveDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_PrimitiveDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_PrimitiveDef_ThruPOA_Proxy_Impl::_TAO_PrimitiveDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::PrimitiveKind POA_CORBA::_TAO_PrimitiveDef_ThruPOA_Proxy_Impl::kind ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::PrimitiveKind _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "kind", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::PrimitiveDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/PrimitiveDef:1.0" + ) + )->kind ( + ACE_TRY_ENV + ); +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::PrimitiveDef::PrimitiveDef (void) +{ + this->optable_ = &tao_CORBA_PrimitiveDef_optable; +} + +// copy ctor +POA_CORBA::PrimitiveDef::PrimitiveDef (const PrimitiveDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::PrimitiveDef::~PrimitiveDef (void) +{ +} + +void POA_CORBA::PrimitiveDef::_get_kind_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::PrimitiveDef *_tao_impl = (POA_CORBA::PrimitiveDef *)_tao_object_reference; + + CORBA::PrimitiveKind _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->kind ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::PrimitiveKind _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::PrimitiveDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::PrimitiveDef *_tao_impl = (POA_CORBA::PrimitiveDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::PrimitiveDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::PrimitiveDef *_tao_impl = (POA_CORBA::PrimitiveDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::PrimitiveDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/PrimitiveDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::PrimitiveDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/PrimitiveDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::PrimitiveDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::PrimitiveDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::PrimitiveDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/PrimitiveDef:1.0"; +} + +CORBA::PrimitiveDef* +POA_CORBA::PrimitiveDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::PrimitiveDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::PrimitiveDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::PrimitiveDef::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::result (CORBA::PrimitiveKind result) +{ + // Update the result. + this->_result = result; +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_StringDef_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 10:44:37 */ +/* 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_CORBA_StringDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_StringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 5, 19, 19, 19, 19, 0, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, +#else + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, + 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, + 19, 0, 19, 19, 19, 19, 19, 19, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_StringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 7, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 18, + HASH_VALUE_RANGE = 14, + DUPLICATES = 2 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_CORBA::StringDef::_is_a_skel}, + {"destroy", &POA_CORBA::StringDef::destroy_skel}, + {"_get_type", &POA_CORBA::StringDef::_get_type_skel}, + {"_get_bound", &POA_CORBA::StringDef::_get_bound_skel}, + {"_set_bound", &POA_CORBA::StringDef::_set_bound_skel}, + {"_get_def_kind", &POA_CORBA::StringDef::_get_def_kind_skel}, + {"_non_existent", &POA_CORBA::StringDef::_non_existent_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -25, -1, -1, 10, + -1, -1, -1, -1, 11, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_StringDef_Perfect_Hash_OpTable tao_CORBA_StringDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::the_TAO_StringDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::_TAO_StringDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::~_TAO_StringDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_StringDef_Proxy_Impl& +POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::StringDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_StringDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_StringDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_StringDef_Proxy_Broker * +CORBA__TAO_StringDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_StringDef_Strategized_Proxy_Broker::the_TAO_StringDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_StringDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_StringDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_StringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_StringDef_ThruPOA_Proxy_Impl::_TAO_StringDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::ULong POA_CORBA::_TAO_StringDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ULong _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::StringDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/StringDef:1.0" + ) + )->bound ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_StringDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::StringDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/StringDef:1.0" + ) + )->bound ( + bound, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::StringDef::StringDef (void) +{ + this->optable_ = &tao_CORBA_StringDef_optable; +} + +// copy ctor +POA_CORBA::StringDef::StringDef (const StringDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::StringDef::~StringDef (void) +{ +} + +void POA_CORBA::StringDef::_get_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::StringDef *_tao_impl = (POA_CORBA::StringDef *)_tao_object_reference; + + CORBA::ULong _tao_retval = 0; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->bound ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ULong _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::StringDef::_set_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::StringDef *_tao_impl = (POA_CORBA::StringDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ULong bound; + if (!( + (_tao_in >> bound) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set ri ( + _tao_server_request, + _tao_impl, + bound, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->bound ( + bound, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::StringDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::StringDef *_tao_impl = (POA_CORBA::StringDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::StringDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::StringDef *_tao_impl = (POA_CORBA::StringDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::StringDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/StringDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::StringDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/StringDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::StringDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::StringDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::StringDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/StringDef:1.0"; +} + +CORBA::StringDef* +POA_CORBA::StringDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::StringDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::TAO_ServerRequestInfo_CORBA_StringDef_bound_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::StringDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_get::result (CORBA::ULong result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::TAO_ServerRequestInfo_CORBA_StringDef_bound_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::StringDef *tao_impl, + const CORBA::ULong & bound, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound) +{} + +Dynamic::ParameterList * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::StringDef::TAO_ServerRequestInfo_CORBA_StringDef_bound_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_WstringDef_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 10:44:37 */ +/* 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_CORBA_WstringDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_WstringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, + 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 5, 19, 19, 19, 19, 0, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, +#else + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, + 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, + 19, 0, 19, 19, 19, 19, 19, 19, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_WstringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 7, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 18, + HASH_VALUE_RANGE = 14, + DUPLICATES = 2 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_CORBA::WstringDef::_is_a_skel}, + {"destroy", &POA_CORBA::WstringDef::destroy_skel}, + {"_get_type", &POA_CORBA::WstringDef::_get_type_skel}, + {"_get_bound", &POA_CORBA::WstringDef::_get_bound_skel}, + {"_set_bound", &POA_CORBA::WstringDef::_set_bound_skel}, + {"_get_def_kind", &POA_CORBA::WstringDef::_get_def_kind_skel}, + {"_non_existent", &POA_CORBA::WstringDef::_non_existent_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -25, -1, -1, 10, + -1, -1, -1, -1, 11, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_WstringDef_Perfect_Hash_OpTable tao_CORBA_WstringDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::the_TAO_WstringDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::_TAO_WstringDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::~_TAO_WstringDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_WstringDef_Proxy_Impl& +POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::WstringDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_WstringDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_WstringDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_WstringDef_Proxy_Broker * +CORBA__TAO_WstringDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_WstringDef_Strategized_Proxy_Broker::the_TAO_WstringDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_WstringDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_WstringDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_WstringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_WstringDef_ThruPOA_Proxy_Impl::_TAO_WstringDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::ULong POA_CORBA::_TAO_WstringDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ULong _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::WstringDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/WstringDef:1.0" + ) + )->bound ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_WstringDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::WstringDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/WstringDef:1.0" + ) + )->bound ( + bound, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::WstringDef::WstringDef (void) +{ + this->optable_ = &tao_CORBA_WstringDef_optable; +} + +// copy ctor +POA_CORBA::WstringDef::WstringDef (const WstringDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::WstringDef::~WstringDef (void) +{ +} + +void POA_CORBA::WstringDef::_get_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::WstringDef *_tao_impl = (POA_CORBA::WstringDef *)_tao_object_reference; + + CORBA::ULong _tao_retval = 0; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->bound ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ULong _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::WstringDef::_set_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::WstringDef *_tao_impl = (POA_CORBA::WstringDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ULong bound; + if (!( + (_tao_in >> bound) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set ri ( + _tao_server_request, + _tao_impl, + bound, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->bound ( + bound, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::WstringDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::WstringDef *_tao_impl = (POA_CORBA::WstringDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::WstringDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::WstringDef *_tao_impl = (POA_CORBA::WstringDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::WstringDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/WstringDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::WstringDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/WstringDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::WstringDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::WstringDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::WstringDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/WstringDef:1.0"; +} + +CORBA::WstringDef* +POA_CORBA::WstringDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::WstringDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::WstringDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::result (CORBA::ULong result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::WstringDef *tao_impl, + const CORBA::ULong & bound, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound) +{} + +Dynamic::ParameterList * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::WstringDef::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_SequenceDef_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 10:44:37 */ +/* 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_CORBA_SequenceDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, + 22, 22, 0, 0, 0, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 5, 22, 22, 22, 22, 0, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, +#else + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 0, 22, 0, 22, 22, + 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 5, 22, 22, 22, + 22, 0, 22, 22, 22, 22, 22, 22, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 10, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 21, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 21, + HASH_VALUE_RANGE = 17, + DUPLICATES = 3 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_CORBA::SequenceDef::_is_a_skel}, + {"destroy", &POA_CORBA::SequenceDef::destroy_skel}, + {"_get_type", &POA_CORBA::SequenceDef::_get_type_skel}, + {"_get_bound", &POA_CORBA::SequenceDef::_get_bound_skel}, + {"_set_bound", &POA_CORBA::SequenceDef::_set_bound_skel}, + {"_get_def_kind", &POA_CORBA::SequenceDef::_get_def_kind_skel}, + {"_get_element_type", &POA_CORBA::SequenceDef::_get_element_type_skel}, + {"_non_existent", &POA_CORBA::SequenceDef::_non_existent_skel}, + {"_get_element_type_def", &POA_CORBA::SequenceDef::_get_element_type_def_skel}, + {"_set_element_type_def", &POA_CORBA::SequenceDef::_set_element_type_def_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -28, -1, -1, 10, + -1, -1, -1, 11, 12, -13, -2, -23, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_SequenceDef_Perfect_Hash_OpTable tao_CORBA_SequenceDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::the_TAO_SequenceDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::_TAO_SequenceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::~_TAO_SequenceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_SequenceDef_Proxy_Impl& +POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::SequenceDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_SequenceDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_SequenceDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_SequenceDef_Proxy_Broker * +CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_SequenceDef_Strategized_Proxy_Broker::the_TAO_SequenceDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_SequenceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::_TAO_SequenceDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::ULong POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ULong _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::SequenceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/SequenceDef:1.0" + ) + )->bound ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "bound", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::SequenceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/SequenceDef:1.0" + ) + )->bound ( + bound, + ACE_TRY_ENV + ); + return; +} + +CORBA::TypeCode_ptr POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::element_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::SequenceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/SequenceDef:1.0" + ) + )->element_type ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::element_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::SequenceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/SequenceDef:1.0" + ) + )->element_type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_SequenceDef_ThruPOA_Proxy_Impl::element_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::SequenceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/SequenceDef:1.0" + ) + )->element_type_def ( + element_type_def, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::SequenceDef::SequenceDef (void) +{ + this->optable_ = &tao_CORBA_SequenceDef_optable; +} + +// copy ctor +POA_CORBA::SequenceDef::SequenceDef (const SequenceDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::SequenceDef::~SequenceDef (void) +{ +} + +void POA_CORBA::SequenceDef::_get_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *)_tao_object_reference; + + CORBA::ULong _tao_retval = 0; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->bound ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ULong _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::SequenceDef::_set_bound_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ULong bound; + if (!( + (_tao_in >> bound) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set ri ( + _tao_server_request, + _tao_impl, + bound, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->bound ( + bound, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::SequenceDef::_get_element_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->element_type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::SequenceDef::_get_element_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->element_type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::SequenceDef::_set_element_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var element_type_def; + if (!( + (_tao_in >> element_type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set ri ( + _tao_server_request, + _tao_impl, + element_type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->element_type_def ( + element_type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::SequenceDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::SequenceDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::SequenceDef *_tao_impl = (POA_CORBA::SequenceDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::SequenceDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/SequenceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::SequenceDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/SequenceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::SequenceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::SequenceDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::SequenceDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/SequenceDef:1.0"; +} + +CORBA::SequenceDef* +POA_CORBA::SequenceDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::SequenceDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::SequenceDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::result (CORBA::ULong result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::SequenceDef *tao_impl, + const CORBA::ULong & bound, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + bound_ (bound) +{} + +Dynamic::ParameterList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_bound = parameter_list->length (); + parameter_list->length (length_bound + 1); + (*parameter_list)[length_bound].argument <<= bound_; + (*parameter_list)[length_bound].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::SequenceDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::SequenceDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::SequenceDef *tao_impl, + CORBA::IDLType_ptr element_type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + element_type_def_ (element_type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_element_type_def = parameter_list->length (); + parameter_list->length (length_element_type_def + 1); + (*parameter_list)[length_element_type_def].argument <<= this->element_type_def_; + + (*parameter_list)[length_element_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::SequenceDef::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_ArrayDef_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 10:44:37 */ +/* 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_CORBA_ArrayDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, + 22, 22, 0, 0, 0, 22, 0, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 5, 22, 22, 22, 22, 0, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, +#else + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 0, 22, 0, 22, 22, + 0, 0, 0, 22, 0, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 5, 22, 22, 22, + 22, 0, 22, 22, 22, 22, 22, 22, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 10, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 21, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 21, + HASH_VALUE_RANGE = 17, + DUPLICATES = 3 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_CORBA::ArrayDef::_is_a_skel}, + {"destroy", &POA_CORBA::ArrayDef::destroy_skel}, + {"_get_type", &POA_CORBA::ArrayDef::_get_type_skel}, + {"_get_length", &POA_CORBA::ArrayDef::_get_length_skel}, + {"_set_length", &POA_CORBA::ArrayDef::_set_length_skel}, + {"_get_def_kind", &POA_CORBA::ArrayDef::_get_def_kind_skel}, + {"_get_element_type", &POA_CORBA::ArrayDef::_get_element_type_skel}, + {"_non_existent", &POA_CORBA::ArrayDef::_non_existent_skel}, + {"_get_element_type_def", &POA_CORBA::ArrayDef::_get_element_type_def_skel}, + {"_set_element_type_def", &POA_CORBA::ArrayDef::_set_element_type_def_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -1, -29, -1, 10, + -1, -1, -1, 11, 12, -13, -2, -23, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_ArrayDef_Perfect_Hash_OpTable tao_CORBA_ArrayDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::the_TAO_ArrayDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::_TAO_ArrayDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::~_TAO_ArrayDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_ArrayDef_Proxy_Impl& +POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::ArrayDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_ArrayDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_ArrayDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_ArrayDef_Proxy_Broker * +CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_ArrayDef_Strategized_Proxy_Broker::the_TAO_ArrayDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_ArrayDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::_TAO_ArrayDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::ULong POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::length ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ULong _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "length", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::ArrayDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ArrayDef:1.0" + ) + )->length ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::length ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong length, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "length", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::ArrayDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ArrayDef:1.0" + ) + )->length ( + length, + ACE_TRY_ENV + ); + return; +} + +CORBA::TypeCode_ptr POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::element_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ArrayDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ArrayDef:1.0" + ) + )->element_type ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::element_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ArrayDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ArrayDef:1.0" + ) + )->element_type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_ArrayDef_ThruPOA_Proxy_Impl::element_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "element_type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::ArrayDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ArrayDef:1.0" + ) + )->element_type_def ( + element_type_def, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::ArrayDef::ArrayDef (void) +{ + this->optable_ = &tao_CORBA_ArrayDef_optable; +} + +// copy ctor +POA_CORBA::ArrayDef::ArrayDef (const ArrayDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::ArrayDef::~ArrayDef (void) +{ +} + +void POA_CORBA::ArrayDef::_get_length_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *)_tao_object_reference; + + CORBA::ULong _tao_retval = 0; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->length ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ULong _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ArrayDef::_set_length_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ULong length; + if (!( + (_tao_in >> length) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set ri ( + _tao_server_request, + _tao_impl, + length, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->length ( + length, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ArrayDef::_get_element_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->element_type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ArrayDef::_get_element_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->element_type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ArrayDef::_set_element_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var element_type_def; + if (!( + (_tao_in >> element_type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set ri ( + _tao_server_request, + _tao_impl, + element_type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->element_type_def ( + element_type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ArrayDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::ArrayDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ArrayDef *_tao_impl = (POA_CORBA::ArrayDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::ArrayDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ArrayDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::ArrayDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ArrayDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::ArrayDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::ArrayDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::ArrayDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/ArrayDef:1.0"; +} + +CORBA::ArrayDef* +POA_CORBA::ArrayDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::ArrayDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ArrayDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::result (CORBA::ULong result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ArrayDef *tao_impl, + const CORBA::ULong & length, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + length_ (length) +{} + +Dynamic::ParameterList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_length = parameter_list->length (); + parameter_list->length (length_length + 1); + (*parameter_list)[length_length].argument <<= length_; + (*parameter_list)[length_length].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ArrayDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ArrayDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ArrayDef *tao_impl, + CORBA::IDLType_ptr element_type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + element_type_def_ (element_type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_element_type_def = parameter_list->length (); + parameter_list->length (length_element_type_def + 1); + (*parameter_list)[length_element_type_def].argument <<= this->element_type_def_; + + (*parameter_list)[length_element_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ArrayDef::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_ExceptionDef_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 10:44:37 */ +/* 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_CORBA_ExceptionDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, + 61, 25, 3, 0, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 10, 0, 5, + 61, 10, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 20, 20, 61, 61, 61, 10, 5, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, +#else + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 0, 61, 0, 61, 25, + 3, 0, 61, 61, 61, 61, 61, 61, 10, 0, + 5, 61, 10, 61, 61, 20, 20, 61, 61, 61, + 10, 5, 61, 61, 61, 61, 61, 61, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 35, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 60, + HASH_VALUE_RANGE = 57, + DUPLICATES = 7 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::ExceptionDef::move_skel}, + {"_is_a", &POA_CORBA::ExceptionDef::_is_a_skel}, + {"_get_type", &POA_CORBA::ExceptionDef::_get_type_skel}, + {"_set_name", &POA_CORBA::ExceptionDef::_set_name_skel}, + {"_get_name", &POA_CORBA::ExceptionDef::_get_name_skel}, + {"_get_id", &POA_CORBA::ExceptionDef::_get_id_skel}, + {"_set_id", &POA_CORBA::ExceptionDef::_set_id_skel}, + {"describe", &POA_CORBA::ExceptionDef::describe_skel}, + {"destroy", &POA_CORBA::ExceptionDef::destroy_skel}, + {"_get_def_kind", &POA_CORBA::ExceptionDef::_get_def_kind_skel}, + {"_get_version", &POA_CORBA::ExceptionDef::_get_version_skel}, + {"_set_version", &POA_CORBA::ExceptionDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::ExceptionDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::ExceptionDef::_get_defined_in_skel}, + {"lookup_name", &POA_CORBA::ExceptionDef::lookup_name_skel}, + {"lookup", &POA_CORBA::ExceptionDef::lookup_skel}, + {"_get_containing_repository", &POA_CORBA::ExceptionDef::_get_containing_repository_skel}, + {"_get_members", &POA_CORBA::ExceptionDef::_get_members_skel}, + {"_set_members", &POA_CORBA::ExceptionDef::_set_members_skel}, + {"_non_existent", &POA_CORBA::ExceptionDef::_non_existent_skel}, + {"create_enum", &POA_CORBA::ExceptionDef::create_enum_skel}, + {"create_value", &POA_CORBA::ExceptionDef::create_value_skel}, + {"create_module", &POA_CORBA::ExceptionDef::create_module_skel}, + {"create_native", &POA_CORBA::ExceptionDef::create_native_skel}, + {"describe_contents", &POA_CORBA::ExceptionDef::describe_contents_skel}, + {"create_interface", &POA_CORBA::ExceptionDef::create_interface_skel}, + {"create_union", &POA_CORBA::ExceptionDef::create_union_skel}, + {"create_exception", &POA_CORBA::ExceptionDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::ExceptionDef::create_local_interface_skel}, + {"create_abstract_interface", &POA_CORBA::ExceptionDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::ExceptionDef::create_value_box_skel}, + {"contents", &POA_CORBA::ExceptionDef::contents_skel}, + {"create_alias", &POA_CORBA::ExceptionDef::create_alias_skel}, + {"create_struct", &POA_CORBA::ExceptionDef::create_struct_skel}, + {"create_constant", &POA_CORBA::ExceptionDef::create_constant_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -6, -3, 4, 5, -1, -9, -2, -67, -63, 11, -1, -14, + -2, 12, 13, -64, 16, -1, 17, 18, -1, -1, -1, -1, 19, -1, + -1, -21, -2, 20, -63, 23, -26, -2, 24, 25, -64, -1, 28, 29, + 30, -1, -1, -1, 31, 32, -1, -1, 33, 34, -1, 35, -1, -1, + -1, 36, 37, -1, 38, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable tao_CORBA_ExceptionDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::the_TAO_ExceptionDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::_TAO_ExceptionDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::~_TAO_ExceptionDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_ExceptionDef_Proxy_Impl& +POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::ExceptionDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_ExceptionDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_ExceptionDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_ExceptionDef_Proxy_Broker * +CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_ExceptionDef_Strategized_Proxy_Broker::the_TAO_ExceptionDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_ExceptionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_ExceptionDef_ThruPOA_Proxy_Impl::_TAO_ExceptionDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::TypeCode_ptr POA_CORBA::_TAO_ExceptionDef_ThruPOA_Proxy_Impl::type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ExceptionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ExceptionDef:1.0" + ) + )->type ( + ACE_TRY_ENV + ); +} + +CORBA::StructMemberSeq * POA_CORBA::_TAO_ExceptionDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::StructMemberSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::ExceptionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ExceptionDef:1.0" + ) + )->members ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_ExceptionDef_ThruPOA_Proxy_Impl::members ( + CORBA_Object *_collocated_tao_target_, + const CORBA::StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "members", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::ExceptionDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/ExceptionDef:1.0" + ) + )->members ( + members, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::ExceptionDef::ExceptionDef (void) +{ + this->optable_ = &tao_CORBA_ExceptionDef_optable; +} + +// copy ctor +POA_CORBA::ExceptionDef::ExceptionDef (const ExceptionDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::ExceptionDef::~ExceptionDef (void) +{ +} + +void POA_CORBA::ExceptionDef::_get_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ExceptionDef *_tao_impl = (POA_CORBA::ExceptionDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ExceptionDef::_get_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ExceptionDef *_tao_impl = (POA_CORBA::ExceptionDef *)_tao_object_reference; + + CORBA::StructMemberSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->members ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::StructMemberSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ExceptionDef::_set_members_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ExceptionDef *_tao_impl = (POA_CORBA::ExceptionDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::StructMemberSeq members; + if (!( + (_tao_in >> members) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set ri ( + _tao_server_request, + _tao_impl, + members, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->members ( + members, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::ExceptionDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::ExceptionDef *_tao_impl = (POA_CORBA::ExceptionDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::ExceptionDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::ExceptionDef *_tao_impl = (POA_CORBA::ExceptionDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::ExceptionDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ExceptionDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::ExceptionDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ExceptionDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::ExceptionDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::ExceptionDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::ExceptionDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/ExceptionDef:1.0"; +} + +CORBA::ExceptionDef* +POA_CORBA::ExceptionDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::ExceptionDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ExceptionDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ExceptionDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::result (CORBA::StructMemberSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::ExceptionDef *tao_impl, + const CORBA::StructMemberSeq & members, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + members_ (members) +{} + +Dynamic::ParameterList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_members = parameter_list->length (); + parameter_list->length (length_members + 1); + (*parameter_list)[length_members].argument <<= this->members_; + + (*parameter_list)[length_members].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::ExceptionDef::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_AttributeDef_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 10:44:37 */ +/* 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_CORBA_AttributeDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 0, 0, 10, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 15, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 0, 0, 10, 37, 37, 37, 37, 37, 37, 0, + 0, 37, 37, 37, 37, 37, 15, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 20, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 8 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::AttributeDef::move_skel}, + {"_is_a", &POA_CORBA::AttributeDef::_is_a_skel}, + {"_get_id", &POA_CORBA::AttributeDef::_get_id_skel}, + {"_set_id", &POA_CORBA::AttributeDef::_set_id_skel}, + {"describe", &POA_CORBA::AttributeDef::describe_skel}, + {"_get_type", &POA_CORBA::AttributeDef::_get_type_skel}, + {"_set_name", &POA_CORBA::AttributeDef::_set_name_skel}, + {"_get_name", &POA_CORBA::AttributeDef::_get_name_skel}, + {"_set_mode", &POA_CORBA::AttributeDef::_set_mode_skel}, + {"_get_mode", &POA_CORBA::AttributeDef::_get_mode_skel}, + {"_get_version", &POA_CORBA::AttributeDef::_get_version_skel}, + {"_set_version", &POA_CORBA::AttributeDef::_set_version_skel}, + {"_get_def_kind", &POA_CORBA::AttributeDef::_get_def_kind_skel}, + {"_get_defined_in", &POA_CORBA::AttributeDef::_get_defined_in_skel}, + {"destroy", &POA_CORBA::AttributeDef::destroy_skel}, + {"_get_absolute_name", &POA_CORBA::AttributeDef::_get_absolute_name_skel}, + {"_get_type_def", &POA_CORBA::AttributeDef::_get_type_def_skel}, + {"_set_type_def", &POA_CORBA::AttributeDef::_set_type_def_skel}, + {"_non_existent", &POA_CORBA::AttributeDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::AttributeDef::_get_containing_repository_skel}, + }; + + static const signed char lookup[] = + { + -6, -2, -9, -5, 4, 5, -1, -43, 8, -43, -14, -2, -38, 16, + -1, 17, -1, 18, 19, -1, -1, -20, -2, -38, -1, -1, -1, -1, + 22, -1, -1, -1, -1, -1, -1, -1, 23, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:37 */ +static TAO_CORBA_AttributeDef_Perfect_Hash_OpTable tao_CORBA_AttributeDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::the_TAO_AttributeDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::_TAO_AttributeDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::~_TAO_AttributeDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_AttributeDef_Proxy_Impl& +POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::AttributeDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_AttributeDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_AttributeDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_AttributeDef_Proxy_Broker * +CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_AttributeDef_Strategized_Proxy_Broker::the_TAO_AttributeDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_AttributeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::_TAO_AttributeDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::TypeCode_ptr POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::AttributeDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AttributeDef:1.0" + ) + )->type ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::AttributeDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AttributeDef:1.0" + ) + )->type_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "type_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::AttributeDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AttributeDef:1.0" + ) + )->type_def ( + type_def, + ACE_TRY_ENV + ); + return; +} + +CORBA::AttributeMode POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::AttributeMode _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "mode", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::AttributeDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AttributeDef:1.0" + ) + )->mode ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_AttributeDef_ThruPOA_Proxy_Impl::mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::AttributeMode mode, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "mode", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::AttributeDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/AttributeDef:1.0" + ) + )->mode ( + mode, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::AttributeDef::AttributeDef (void) +{ + this->optable_ = &tao_CORBA_AttributeDef_optable; +} + +// copy ctor +POA_CORBA::AttributeDef::AttributeDef (const AttributeDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::AttributeDef::~AttributeDef (void) +{ +} + +void POA_CORBA::AttributeDef::_get_type_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->type ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AttributeDef::_get_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->type_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AttributeDef::_set_type_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var type_def; + if (!( + (_tao_in >> type_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set ri ( + _tao_server_request, + _tao_impl, + type_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->type_def ( + type_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AttributeDef::_get_mode_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *)_tao_object_reference; + + CORBA::AttributeMode _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->mode ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::AttributeMode _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AttributeDef::_set_mode_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::AttributeMode mode; + if (!( + (_tao_in >> mode) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set ri ( + _tao_server_request, + _tao_impl, + mode, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->mode ( + mode, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::AttributeDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::AttributeDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AttributeDef *_tao_impl = (POA_CORBA::AttributeDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::AttributeDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AttributeDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::AttributeDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AttributeDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::AttributeDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::AttributeDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::AttributeDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/AttributeDef:1.0"; +} + +CORBA::AttributeDef* +POA_CORBA::AttributeDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::AttributeDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AttributeDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AttributeDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AttributeDef *tao_impl, + CORBA::IDLType_ptr type_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + type_def_ (type_def) +{} + +Dynamic::ParameterList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_type_def = parameter_list->length (); + parameter_list->length (length_type_def + 1); + (*parameter_list)[length_type_def].argument <<= this->type_def_; + + (*parameter_list)[length_type_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AttributeDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::result (CORBA::AttributeMode result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::AttributeDef *tao_impl, + CORBA::AttributeMode & mode, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + mode_ (mode) +{} + +Dynamic::ParameterList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_mode = parameter_list->length (); + parameter_list->length (length_mode + 1); + (*parameter_list)[length_mode].argument <<= this->mode_; + + (*parameter_list)[length_mode].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::AttributeDef::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_OperationDef_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 10:44:38 */ +/* 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_CORBA_OperationDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_OperationDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 37, 37, 15, 0, 10, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 0, 5, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 0, 20, 37, 37, 37, 37, 10, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, +#else + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, + 15, 0, 10, 37, 37, 37, 37, 37, 37, 0, + 5, 37, 37, 37, 37, 0, 20, 37, 37, 37, + 37, 10, 37, 37, 37, 37, 37, 37, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_OperationDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 26, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 36, + HASH_VALUE_RANGE = 33, + DUPLICATES = 10 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::OperationDef::move_skel}, + {"_is_a", &POA_CORBA::OperationDef::_is_a_skel}, + {"_get_mode", &POA_CORBA::OperationDef::_get_mode_skel}, + {"_set_name", &POA_CORBA::OperationDef::_set_name_skel}, + {"_get_name", &POA_CORBA::OperationDef::_get_name_skel}, + {"_set_mode", &POA_CORBA::OperationDef::_set_mode_skel}, + {"_get_params", &POA_CORBA::OperationDef::_get_params_skel}, + {"_set_params", &POA_CORBA::OperationDef::_set_params_skel}, + {"_get_contexts", &POA_CORBA::OperationDef::_get_contexts_skel}, + {"_set_contexts", &POA_CORBA::OperationDef::_set_contexts_skel}, + {"_get_exceptions", &POA_CORBA::OperationDef::_get_exceptions_skel}, + {"_set_exceptions", &POA_CORBA::OperationDef::_set_exceptions_skel}, + {"_get_version", &POA_CORBA::OperationDef::_get_version_skel}, + {"_set_version", &POA_CORBA::OperationDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::OperationDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::OperationDef::_get_defined_in_skel}, + {"_get_id", &POA_CORBA::OperationDef::_get_id_skel}, + {"_set_id", &POA_CORBA::OperationDef::_set_id_skel}, + {"describe", &POA_CORBA::OperationDef::describe_skel}, + {"_get_result_def", &POA_CORBA::OperationDef::_get_result_def_skel}, + {"_set_result_def", &POA_CORBA::OperationDef::_set_result_def_skel}, + {"_get_def_kind", &POA_CORBA::OperationDef::_get_def_kind_skel}, + {"_get_result", &POA_CORBA::OperationDef::_get_result_skel}, + {"destroy", &POA_CORBA::OperationDef::destroy_skel}, + {"_non_existent", &POA_CORBA::OperationDef::_non_existent_skel}, + {"_get_containing_repository", &POA_CORBA::OperationDef::_get_containing_repository_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 class TAO_operation_db_entry *resword; + + switch (key) + { + case 4: + resword = &wordlist[4]; break; + case 5: + resword = &wordlist[5]; break; + case 9: + resword = &wordlist[6]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[7]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[8]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[9]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 11: + resword = &wordlist[10]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[11]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 13: + resword = &wordlist[12]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[13]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 15: + resword = &wordlist[14]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[15]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 17: + resword = &wordlist[16]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[17]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 18: + resword = &wordlist[18]; break; + case 20: + resword = &wordlist[19]; break; + case 22: + resword = &wordlist[20]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[21]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 23: + resword = &wordlist[22]; break; + case 25: + resword = &wordlist[23]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + resword = &wordlist[24]; + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword; + return 0; + case 28: + resword = &wordlist[25]; break; + case 31: + resword = &wordlist[26]; break; + case 32: + resword = &wordlist[27]; break; + case 33: + resword = &wordlist[28]; break; + case 36: + resword = &wordlist[29]; break; + default: return 0; + } + if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) + return resword; + return 0; + } + } + } + return 0; +} +/* ending time is 10:44:38 */ +static TAO_CORBA_OperationDef_Perfect_Hash_OpTable tao_CORBA_OperationDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::the_TAO_OperationDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::_TAO_OperationDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::~_TAO_OperationDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_OperationDef_Proxy_Impl& +POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::OperationDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_OperationDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_OperationDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_OperationDef_Proxy_Broker * +CORBA__TAO_OperationDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_OperationDef_Strategized_Proxy_Broker::the_TAO_OperationDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_OperationDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_OperationDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_OperationDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::_TAO_OperationDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::TypeCode_ptr POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::result ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::TypeCode_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "result", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->result ( + ACE_TRY_ENV + ); +} + +CORBA::IDLType_ptr POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::result_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::IDLType_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "result_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->result_def ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::result_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "result_def", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->result_def ( + result_def, + ACE_TRY_ENV + ); + return; +} + +CORBA::ParDescriptionSeq * POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::params ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ParDescriptionSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "params", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->params ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::params ( + CORBA_Object *_collocated_tao_target_, + const CORBA::ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "params", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->params ( + params, + ACE_TRY_ENV + ); + return; +} + +CORBA::OperationMode POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::OperationMode _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "mode", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->mode ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::OperationMode mode, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "mode", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->mode ( + mode, + ACE_TRY_ENV + ); + return; +} + +CORBA::ContextIdSeq * POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::contexts ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ContextIdSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "contexts", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->contexts ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::contexts ( + CORBA_Object *_collocated_tao_target_, + const CORBA::ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "contexts", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->contexts ( + contexts, + ACE_TRY_ENV + ); + return; +} + +CORBA::ExceptionDefSeq * POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::exceptions ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::ExceptionDefSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "exceptions", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->exceptions ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_OperationDef_ThruPOA_Proxy_Impl::exceptions ( + CORBA_Object *_collocated_tao_target_, + const CORBA::ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "exceptions", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::OperationDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/OperationDef:1.0" + ) + )->exceptions ( + exceptions, + ACE_TRY_ENV + ); + return; +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::OperationDef::OperationDef (void) +{ + this->optable_ = &tao_CORBA_OperationDef_optable; +} + +// copy ctor +POA_CORBA::OperationDef::OperationDef (const OperationDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::OperationDef::~OperationDef (void) +{ +} + +void POA_CORBA::OperationDef::_get_result_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::TypeCode_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->result ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_get_result_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::IDLType_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->result_def ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::IDLType_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_set_result_def_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::IDLType_var result_def; + if (!( + (_tao_in >> result_def.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set ri ( + _tao_server_request, + _tao_impl, + result_def.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->result_def ( + result_def.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_get_params_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::ParDescriptionSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->params ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ParDescriptionSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_set_params_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ParDescriptionSeq params; + if (!( + (_tao_in >> params) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set ri ( + _tao_server_request, + _tao_impl, + params, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->params ( + params, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_get_mode_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::OperationMode _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->mode ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::OperationMode _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_set_mode_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::OperationMode mode; + if (!( + (_tao_in >> mode) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set ri ( + _tao_server_request, + _tao_impl, + mode, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->mode ( + mode, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_get_contexts_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::ContextIdSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->contexts ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ContextIdSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_set_contexts_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ContextIdSeq contexts; + if (!( + (_tao_in >> contexts) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set ri ( + _tao_server_request, + _tao_impl, + contexts, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->contexts ( + contexts, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_get_exceptions_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + CORBA::ExceptionDefSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->exceptions ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::ExceptionDefSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_set_exceptions_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::ExceptionDefSeq exceptions; + if (!( + (_tao_in >> exceptions) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set ri ( + _tao_server_request, + _tao_impl, + exceptions, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->exceptions ( + exceptions, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::OperationDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::OperationDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::OperationDef *_tao_impl = (POA_CORBA::OperationDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::OperationDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/OperationDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::OperationDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/OperationDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::OperationDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::OperationDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::OperationDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/OperationDef:1.0"; +} + +CORBA::OperationDef* +POA_CORBA::OperationDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::OperationDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::TAO_ServerRequestInfo_CORBA_OperationDef_result_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_get::result (CORBA::TypeCode_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::result (CORBA::IDLType_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::IDLType_ptr result_def, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + result_def_ (result_def) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_result_def = parameter_list->length (); + parameter_list->length (length_result_def + 1); + (*parameter_list)[length_result_def].argument <<= this->result_def_; + + (*parameter_list)[length_result_def].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::TAO_ServerRequestInfo_CORBA_OperationDef_params_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_get::result (CORBA::ParDescriptionSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::TAO_ServerRequestInfo_CORBA_OperationDef_params_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + const CORBA::ParDescriptionSeq & params, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + params_ (params) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_params = parameter_list->length (); + parameter_list->length (length_params + 1); + (*parameter_list)[length_params].argument <<= this->params_; + + (*parameter_list)[length_params].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_params_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::result (CORBA::OperationMode result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::OperationMode & mode, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + mode_ (mode) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_mode = parameter_list->length (); + parameter_list->length (length_mode + 1); + (*parameter_list)[length_mode].argument <<= this->mode_; + + (*parameter_list)[length_mode].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::result (CORBA::ContextIdSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + const CORBA::ContextIdSeq & contexts, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + contexts_ (contexts) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_contexts = parameter_list->length (); + parameter_list->length (length_contexts + 1); + (*parameter_list)[length_contexts].argument <<= this->contexts_; + + (*parameter_list)[length_contexts].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::result (CORBA::ExceptionDefSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::OperationDef *tao_impl, + const CORBA::ExceptionDefSeq & exceptions, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + exceptions_ (exceptions) +{} + +Dynamic::ParameterList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_exceptions = parameter_list->length (); + parameter_list->length (length_exceptions + 1); + (*parameter_list)[length_exceptions].argument <<= this->exceptions_; + + (*parameter_list)[length_exceptions].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::OperationDef::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_InterfaceDef_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 10:44:38 */ +/* 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_CORBA_InterfaceDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 15, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, + 59, 0, 20, 0, 59, 59, 59, 5, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 20, 0, 5, + 59, 10, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 15, 30, 59, 59, 59, 10, 10, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, +#else + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 15, 59, 0, 59, 0, + 20, 0, 59, 59, 59, 5, 59, 59, 20, 0, + 5, 59, 10, 59, 59, 15, 30, 59, 59, 59, + 10, 10, 59, 59, 59, 59, 59, 59, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 39, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 58, + HASH_VALUE_RANGE = 55, + DUPLICATES = 9 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::InterfaceDef::move_skel}, + {"is_a", &POA_CORBA::InterfaceDef::is_a_skel}, + {"create_enum", &POA_CORBA::InterfaceDef::create_enum_skel}, + {"create_value", &POA_CORBA::InterfaceDef::create_value_skel}, + {"create_module", &POA_CORBA::InterfaceDef::create_module_skel}, + {"create_native", &POA_CORBA::InterfaceDef::create_native_skel}, + {"create_attribute", &POA_CORBA::InterfaceDef::create_attribute_skel}, + {"create_interface", &POA_CORBA::InterfaceDef::create_interface_skel}, + {"create_union", &POA_CORBA::InterfaceDef::create_union_skel}, + {"_is_a", &POA_CORBA::InterfaceDef::_is_a_skel}, + {"create_operation", &POA_CORBA::InterfaceDef::create_operation_skel}, + {"create_exception", &POA_CORBA::InterfaceDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::InterfaceDef::create_local_interface_skel}, + {"contents", &POA_CORBA::InterfaceDef::contents_skel}, + {"_get_name", &POA_CORBA::InterfaceDef::_get_name_skel}, + {"_get_type", &POA_CORBA::InterfaceDef::_get_type_skel}, + {"_set_name", &POA_CORBA::InterfaceDef::_set_name_skel}, + {"create_abstract_interface", &POA_CORBA::InterfaceDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::InterfaceDef::create_value_box_skel}, + {"create_alias", &POA_CORBA::InterfaceDef::create_alias_skel}, + {"describe", &POA_CORBA::InterfaceDef::describe_skel}, + {"lookup_name", &POA_CORBA::InterfaceDef::lookup_name_skel}, + {"_get_version", &POA_CORBA::InterfaceDef::_get_version_skel}, + {"_set_version", &POA_CORBA::InterfaceDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::InterfaceDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::InterfaceDef::_get_defined_in_skel}, + {"lookup", &POA_CORBA::InterfaceDef::lookup_skel}, + {"destroy", &POA_CORBA::InterfaceDef::destroy_skel}, + {"describe_interface", &POA_CORBA::InterfaceDef::describe_interface_skel}, + {"_get_id", &POA_CORBA::InterfaceDef::_get_id_skel}, + {"_set_id", &POA_CORBA::InterfaceDef::_set_id_skel}, + {"create_struct", &POA_CORBA::InterfaceDef::create_struct_skel}, + {"create_constant", &POA_CORBA::InterfaceDef::create_constant_skel}, + {"_get_def_kind", &POA_CORBA::InterfaceDef::_get_def_kind_skel}, + {"_get_base_interfaces", &POA_CORBA::InterfaceDef::_get_base_interfaces_skel}, + {"_set_base_interfaces", &POA_CORBA::InterfaceDef::_set_base_interfaces_skel}, + {"_get_containing_repository", &POA_CORBA::InterfaceDef::_get_containing_repository_skel}, + {"describe_contents", &POA_CORBA::InterfaceDef::describe_contents_skel}, + {"_non_existent", &POA_CORBA::InterfaceDef::_non_existent_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -66, + -14, -2, -67, 12, -18, -3, 13, -65, 16, 17, -64, 21, 22, 23, + 24, -26, -2, 25, -61, 28, -1, 29, 30, 31, 32, -1, -33, -2, + -60, 35, -1, 36, -38, -2, 37, -1, -62, 40, 41, -1, -1, -1, + -1, -1, 42, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:38 */ +static TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable tao_CORBA_InterfaceDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::the_TAO_InterfaceDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::_TAO_InterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::~_TAO_InterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_InterfaceDef_Proxy_Impl& +POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::InterfaceDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_InterfaceDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_InterfaceDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_InterfaceDef_Proxy_Broker * +CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_InterfaceDef_Strategized_Proxy_Broker::the_TAO_InterfaceDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_InterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::_TAO_InterfaceDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +CORBA::InterfaceDefSeq * POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::base_interfaces ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::InterfaceDefSeq_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "base_interfaces", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->base_interfaces ( + ACE_TRY_ENV + ); +} + +void POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::base_interfaces ( + CORBA_Object *_collocated_tao_target_, + const CORBA::InterfaceDefSeq & base_interfaces, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "base_interfaces", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->base_interfaces ( + base_interfaces, + ACE_TRY_ENV + ); + return; +} + +CORBA::Boolean POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::is_a ( + CORBA_Object *_collocated_tao_target_, + const char * interface_id, + 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 ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "is_a", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->is_a ( + interface_id, + ACE_TRY_ENV + ); +} + +CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::describe_interface ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::InterfaceDef::FullInterfaceDescription_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "describe_interface", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->describe_interface ( + ACE_TRY_ENV + ); +} + +CORBA::AttributeDef_ptr POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::create_attribute ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + CORBA::IDLType_ptr type, + CORBA::AttributeMode mode, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::AttributeDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_attribute", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->create_attribute ( + id, + name, + version, + type, + mode, + ACE_TRY_ENV + ); +} + +CORBA::OperationDef_ptr POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl::create_operation ( + CORBA_Object *_collocated_tao_target_, + 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, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::OperationDef_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core () + ); + CORBA::Object_var forward_to; + servant_upcall.prepare_for_upcall ( + _collocated_tao_target_->_object_key (), + "create_operation", + forward_to.out (), + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_CORBA::InterfaceDef_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:omg.org/CORBA/InterfaceDef:1.0" + ) + )->create_operation ( + id, + name, + version, + result, + mode, + params, + exceptions, + contexts, + ACE_TRY_ENV + ); +} + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::InterfaceDef::InterfaceDef (void) +{ + this->optable_ = &tao_CORBA_InterfaceDef_optable; +} + +// copy ctor +POA_CORBA::InterfaceDef::InterfaceDef (const InterfaceDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::InterfaceDef::~InterfaceDef (void) +{ +} + +void POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + CORBA::InterfaceDefSeq_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->base_interfaces ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::InterfaceDefSeq * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + _tao_server_request.argument_flag (0); + CORBA::InterfaceDefSeq base_interfaces; + if (!( + (_tao_in >> base_interfaces) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set ri ( + _tao_server_request, + _tao_impl, + base_interfaces, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->base_interfaces ( + base_interfaces, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + CORBA::Boolean _tao_retval = 0; + CORBA::String_var interface_id; + if (!( + (_tao_in >> interface_id.out ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a ri ( + _tao_server_request, + _tao_impl, + interface_id.in (), + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->is_a ( + interface_id.in (), + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::Boolean _tao_retval_info = _tao_retval; + ri.result (_tao_retval_info); + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << CORBA::Any::from_boolean (_tao_retval)) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::describe_interface_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + CORBA::InterfaceDef::FullInterfaceDescription_var _tao_retval; + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface ri ( + _tao_server_request, + _tao_impl, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->describe_interface ( + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::InterfaceDef::FullInterfaceDescription * _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::create_attribute_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + CORBA::AttributeDef_var _tao_retval; + CORBA::String_var id; + CORBA::String_var name; + CORBA::String_var version; + CORBA::IDLType_var type; + CORBA::AttributeMode mode; + if (!( + (_tao_in >> id.out ()) && + (_tao_in >> name.out ()) && + (_tao_in >> version.out ()) && + (_tao_in >> type.out ()) && + (_tao_in >> mode) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute ri ( + _tao_server_request, + _tao_impl, + id.in (), + name.in (), + version.in (), + type.in (), + mode, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_attribute ( + id.in (), + name.in (), + version.in (), + type.in (), + mode, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::AttributeDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::create_operation_skel ( + TAO_ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *)_tao_object_reference; + + CORBA::OperationDef_var _tao_retval; + CORBA::String_var id; + CORBA::String_var name; + CORBA::String_var version; + CORBA::IDLType_var result; + CORBA::OperationMode mode; + CORBA::ParDescriptionSeq params; + CORBA::ExceptionDefSeq exceptions; + CORBA::ContextIdSeq contexts; + if (!( + (_tao_in >> id.out ()) && + (_tao_in >> name.out ()) && + (_tao_in >> version.out ()) && + (_tao_in >> result.out ()) && + (_tao_in >> mode) && + (_tao_in >> params) && + (_tao_in >> exceptions) && + (_tao_in >> contexts) + )) + ACE_THROW (CORBA::MARSHAL()); + + +#if (TAO_HAS_INTERCEPTORS == 1) + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( + _tao_server_request.orb_core ()->server_request_interceptors (), + _tao_server_request.interceptor_count () + ); + + POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation ri ( + _tao_server_request, + _tao_impl, + id.in (), + name.in (), + version.in (), + result.in (), + mode, + params, + exceptions, + contexts, + ACE_TRY_ENV + ); + + ACE_TRY + { + _tao_vfr.receive_request (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + +#endif /* TAO_HAS_INTERCEPTORS */ + _tao_retval = + _tao_impl->create_operation ( + id.in (), + name.in (), + version.in (), + result.in (), + mode, + params, + exceptions, + contexts, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + +#if (TAO_HAS_INTERCEPTORS == 1) + CORBA::OperationDef_ptr _tao_retval_info = _tao_retval._retn (); + ri.result (_tao_retval_info); + _tao_retval = _tao_retval_info; + ri.reply_status (PortableInterceptor::SUCCESSFUL); + _tao_vfr.send_reply (&ri, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableInterceptor::ForwardRequest, exc) + { + ri.forward_reference (exc); + _tao_vfr.send_other ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + _tao_server_request.forward_location (exc.forward.in ()); + } + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.send_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (); + + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL()); + + // In case ACE_TRY_ENV is not used in this function + ACE_UNUSED_ARG (ACE_TRY_ENV); +} + +void POA_CORBA::InterfaceDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::InterfaceDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::InterfaceDef *_tao_impl = (POA_CORBA::InterfaceDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::InterfaceDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::InterfaceDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::InterfaceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::InterfaceDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::InterfaceDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/InterfaceDef:1.0"; +} + +CORBA::InterfaceDef* +POA_CORBA::InterfaceDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::InterfaceDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::result (CORBA::InterfaceDefSeq * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + const CORBA::InterfaceDefSeq & base_interfaces, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + base_interfaces_ (base_interfaces) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_base_interfaces = parameter_list->length (); + parameter_list->length (length_base_interfaces + 1); + (*parameter_list)[length_base_interfaces].argument <<= this->base_interfaces_; + + (*parameter_list)[length_base_interfaces].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 1; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return result_any; +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + const char * interface_id, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + interface_id_ (interface_id) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_interface_id = parameter_list->length (); + parameter_list->length (length_interface_id + 1); + (*parameter_list)[length_interface_id].argument <<= interface_id_; + (*parameter_list)[length_interface_id].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= CORBA::Any::from_boolean (this->_result); + + return safe_result_any._retn (); +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::result (CORBA::Boolean result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return parameter_list; +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::result (CORBA::InterfaceDef::FullInterfaceDescription * result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + const char * id, + const char * name, + const char * version, + CORBA::IDLType_ptr type, + CORBA::AttributeMode & mode, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + id_ (id), + name_ (name), + version_ (version), + type_ (type), + mode_ (mode) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_id = parameter_list->length (); + parameter_list->length (length_id + 1); + (*parameter_list)[length_id].argument <<= id_; + (*parameter_list)[length_id].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_name = parameter_list->length (); + parameter_list->length (length_name + 1); + (*parameter_list)[length_name].argument <<= name_; + (*parameter_list)[length_name].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_version = parameter_list->length (); + parameter_list->length (length_version + 1); + (*parameter_list)[length_version].argument <<= version_; + (*parameter_list)[length_version].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_type = parameter_list->length (); + parameter_list->length (length_type + 1); + (*parameter_list)[length_type].argument <<= this->type_; + + (*parameter_list)[length_type].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_mode = parameter_list->length (); + parameter_list->length (length_mode + 1); + (*parameter_list)[length_mode].argument <<= this->mode_; + + (*parameter_list)[length_mode].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::result (CORBA::AttributeDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation ( + TAO_ServerRequest &_tao_server_request, + POA_CORBA::InterfaceDef *tao_impl, + 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, + CORBA::Environment & + ) + : TAO_ServerRequestInfo (_tao_server_request), + _tao_impl (tao_impl), + id_ (id), + name_ (name), + version_ (version), + result_ (result), + mode_ (mode), + params_ (params), + exceptions_ (exceptions), + contexts_ (contexts) +{} + +Dynamic::ParameterList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::arguments (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the argument list on demand. + Dynamic::ParameterList *parameter_list = + TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + Dynamic::ParameterList_var safe_parameter_list = parameter_list; + + CORBA::ULong length_id = parameter_list->length (); + parameter_list->length (length_id + 1); + (*parameter_list)[length_id].argument <<= id_; + (*parameter_list)[length_id].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_name = parameter_list->length (); + parameter_list->length (length_name + 1); + (*parameter_list)[length_name].argument <<= name_; + (*parameter_list)[length_name].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_version = parameter_list->length (); + parameter_list->length (length_version + 1); + (*parameter_list)[length_version].argument <<= version_; + (*parameter_list)[length_version].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_result = parameter_list->length (); + parameter_list->length (length_result + 1); + (*parameter_list)[length_result].argument <<= this->result_; + + (*parameter_list)[length_result].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_mode = parameter_list->length (); + parameter_list->length (length_mode + 1); + (*parameter_list)[length_mode].argument <<= this->mode_; + + (*parameter_list)[length_mode].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_params = parameter_list->length (); + parameter_list->length (length_params + 1); + (*parameter_list)[length_params].argument <<= this->params_; + + (*parameter_list)[length_params].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_exceptions = parameter_list->length (); + parameter_list->length (length_exceptions + 1); + (*parameter_list)[length_exceptions].argument <<= this->exceptions_; + + (*parameter_list)[length_exceptions].mode = Dynamic::PARAM_IN; + + CORBA::ULong length_contexts = parameter_list->length (); + parameter_list->length (length_contexts + 1); + (*parameter_list)[length_contexts].argument <<= this->contexts_; + + (*parameter_list)[length_contexts].mode = Dynamic::PARAM_IN; + + return safe_parameter_list._retn (); +} + +Dynamic::ExceptionList * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::exceptions (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand. + Dynamic::ExceptionList *exception_list = + TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + return exception_list; +} + +CORBA::Any * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::result (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand. + CORBA::Boolean tk_void_any = 0; + CORBA::Any *result_any = + TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Any_var safe_result_any = result_any; + + (*result_any) <<= this->_result; + + return safe_result_any._retn (); +} + +char * +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::target_most_derived_interface ( + CORBA::Environment &) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return + CORBA::string_dup (this->_tao_impl->_interface_repository_id ()); +} + +CORBA::Boolean +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::target_is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->_tao_impl->_is_a (id, ACE_TRY_ENV); +} + +void +POA_CORBA::InterfaceDef::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::result (CORBA::OperationDef_ptr result) +{ + // Update the result. + this->_result = result; +} + +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_AbstractInterfaceDef_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 10:44:38 */ +/* 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_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 15, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, + 59, 0, 20, 0, 59, 59, 59, 5, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 20, 0, 5, + 59, 10, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 15, 30, 59, 59, 59, 10, 10, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, +#else + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 15, 59, 0, 59, 0, + 20, 0, 59, 59, 59, 5, 59, 59, 20, 0, + 5, 59, 10, 59, 59, 15, 30, 59, 59, 59, + 10, 10, 59, 59, 59, 59, 59, 59, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 39, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 58, + HASH_VALUE_RANGE = 55, + DUPLICATES = 9 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::AbstractInterfaceDef::move_skel}, + {"is_a", &POA_CORBA::AbstractInterfaceDef::is_a_skel}, + {"create_enum", &POA_CORBA::AbstractInterfaceDef::create_enum_skel}, + {"create_value", &POA_CORBA::AbstractInterfaceDef::create_value_skel}, + {"create_module", &POA_CORBA::AbstractInterfaceDef::create_module_skel}, + {"create_native", &POA_CORBA::AbstractInterfaceDef::create_native_skel}, + {"create_attribute", &POA_CORBA::AbstractInterfaceDef::create_attribute_skel}, + {"create_interface", &POA_CORBA::AbstractInterfaceDef::create_interface_skel}, + {"create_union", &POA_CORBA::AbstractInterfaceDef::create_union_skel}, + {"_is_a", &POA_CORBA::AbstractInterfaceDef::_is_a_skel}, + {"create_operation", &POA_CORBA::AbstractInterfaceDef::create_operation_skel}, + {"create_exception", &POA_CORBA::AbstractInterfaceDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::AbstractInterfaceDef::create_local_interface_skel}, + {"contents", &POA_CORBA::AbstractInterfaceDef::contents_skel}, + {"_get_name", &POA_CORBA::AbstractInterfaceDef::_get_name_skel}, + {"_get_type", &POA_CORBA::AbstractInterfaceDef::_get_type_skel}, + {"_set_name", &POA_CORBA::AbstractInterfaceDef::_set_name_skel}, + {"create_abstract_interface", &POA_CORBA::AbstractInterfaceDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::AbstractInterfaceDef::create_value_box_skel}, + {"create_alias", &POA_CORBA::AbstractInterfaceDef::create_alias_skel}, + {"describe", &POA_CORBA::AbstractInterfaceDef::describe_skel}, + {"lookup_name", &POA_CORBA::AbstractInterfaceDef::lookup_name_skel}, + {"_get_version", &POA_CORBA::AbstractInterfaceDef::_get_version_skel}, + {"_set_version", &POA_CORBA::AbstractInterfaceDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::AbstractInterfaceDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::AbstractInterfaceDef::_get_defined_in_skel}, + {"lookup", &POA_CORBA::AbstractInterfaceDef::lookup_skel}, + {"destroy", &POA_CORBA::AbstractInterfaceDef::destroy_skel}, + {"describe_interface", &POA_CORBA::AbstractInterfaceDef::describe_interface_skel}, + {"_get_id", &POA_CORBA::AbstractInterfaceDef::_get_id_skel}, + {"_set_id", &POA_CORBA::AbstractInterfaceDef::_set_id_skel}, + {"create_struct", &POA_CORBA::AbstractInterfaceDef::create_struct_skel}, + {"create_constant", &POA_CORBA::AbstractInterfaceDef::create_constant_skel}, + {"_get_def_kind", &POA_CORBA::AbstractInterfaceDef::_get_def_kind_skel}, + {"_get_base_interfaces", &POA_CORBA::AbstractInterfaceDef::_get_base_interfaces_skel}, + {"_set_base_interfaces", &POA_CORBA::AbstractInterfaceDef::_set_base_interfaces_skel}, + {"_get_containing_repository", &POA_CORBA::AbstractInterfaceDef::_get_containing_repository_skel}, + {"describe_contents", &POA_CORBA::AbstractInterfaceDef::describe_contents_skel}, + {"_non_existent", &POA_CORBA::AbstractInterfaceDef::_non_existent_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -66, + -14, -2, -67, 12, -18, -3, 13, -65, 16, 17, -64, 21, 22, 23, + 24, -26, -2, 25, -61, 28, -1, 29, 30, 31, 32, -1, -33, -2, + -60, 35, -1, 36, -38, -2, 37, -1, -62, 40, 41, -1, -1, -1, + -1, -1, 42, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:38 */ +static TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable tao_CORBA_AbstractInterfaceDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::the_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::~_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_AbstractInterfaceDef_Proxy_Impl& +POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::AbstractInterfaceDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_AbstractInterfaceDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_AbstractInterfaceDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_AbstractInterfaceDef_Proxy_Broker * +CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker::the_TAO_AbstractInterfaceDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_AbstractInterfaceDef_ThruPOA_Proxy_Impl::_TAO_AbstractInterfaceDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::AbstractInterfaceDef::AbstractInterfaceDef (void) +{ + this->optable_ = &tao_CORBA_AbstractInterfaceDef_optable; +} + +// copy ctor +POA_CORBA::AbstractInterfaceDef::AbstractInterfaceDef (const AbstractInterfaceDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,InterfaceDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::AbstractInterfaceDef::~AbstractInterfaceDef (void) +{ +} + +void POA_CORBA::AbstractInterfaceDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::AbstractInterfaceDef *_tao_impl = (POA_CORBA::AbstractInterfaceDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::AbstractInterfaceDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::AbstractInterfaceDef *_tao_impl = (POA_CORBA::AbstractInterfaceDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::AbstractInterfaceDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::AbstractInterfaceDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::AbstractInterfaceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::InterfaceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::AbstractInterfaceDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::AbstractInterfaceDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0"; +} + +CORBA::AbstractInterfaceDef* +POA_CORBA::AbstractInterfaceDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::AbstractInterfaceDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +#endif /* TAO_HAS_INTERCEPTORS */ +class TAO_CORBA_LocalInterfaceDef_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 10:44:38 */ +/* 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_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 15, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, + 59, 0, 20, 0, 59, 59, 59, 5, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 20, 0, 5, + 59, 10, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 15, 30, 59, 59, 59, 10, 10, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, +#else + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 15, 59, 0, 59, 0, + 20, 0, 59, 59, 59, 5, 59, 59, 20, 0, + 5, 59, 10, 59, 59, 15, 30, 59, 59, 59, + 10, 10, 59, 59, 59, 59, 59, 59, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 39, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 26, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 58, + HASH_VALUE_RANGE = 55, + DUPLICATES = 9 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"move", &POA_CORBA::LocalInterfaceDef::move_skel}, + {"is_a", &POA_CORBA::LocalInterfaceDef::is_a_skel}, + {"create_enum", &POA_CORBA::LocalInterfaceDef::create_enum_skel}, + {"create_value", &POA_CORBA::LocalInterfaceDef::create_value_skel}, + {"create_module", &POA_CORBA::LocalInterfaceDef::create_module_skel}, + {"create_native", &POA_CORBA::LocalInterfaceDef::create_native_skel}, + {"create_attribute", &POA_CORBA::LocalInterfaceDef::create_attribute_skel}, + {"create_interface", &POA_CORBA::LocalInterfaceDef::create_interface_skel}, + {"create_union", &POA_CORBA::LocalInterfaceDef::create_union_skel}, + {"_is_a", &POA_CORBA::LocalInterfaceDef::_is_a_skel}, + {"create_operation", &POA_CORBA::LocalInterfaceDef::create_operation_skel}, + {"create_exception", &POA_CORBA::LocalInterfaceDef::create_exception_skel}, + {"create_local_interface", &POA_CORBA::LocalInterfaceDef::create_local_interface_skel}, + {"contents", &POA_CORBA::LocalInterfaceDef::contents_skel}, + {"_get_name", &POA_CORBA::LocalInterfaceDef::_get_name_skel}, + {"_get_type", &POA_CORBA::LocalInterfaceDef::_get_type_skel}, + {"_set_name", &POA_CORBA::LocalInterfaceDef::_set_name_skel}, + {"create_abstract_interface", &POA_CORBA::LocalInterfaceDef::create_abstract_interface_skel}, + {"create_value_box", &POA_CORBA::LocalInterfaceDef::create_value_box_skel}, + {"create_alias", &POA_CORBA::LocalInterfaceDef::create_alias_skel}, + {"describe", &POA_CORBA::LocalInterfaceDef::describe_skel}, + {"lookup_name", &POA_CORBA::LocalInterfaceDef::lookup_name_skel}, + {"_get_version", &POA_CORBA::LocalInterfaceDef::_get_version_skel}, + {"_set_version", &POA_CORBA::LocalInterfaceDef::_set_version_skel}, + {"_get_absolute_name", &POA_CORBA::LocalInterfaceDef::_get_absolute_name_skel}, + {"_get_defined_in", &POA_CORBA::LocalInterfaceDef::_get_defined_in_skel}, + {"lookup", &POA_CORBA::LocalInterfaceDef::lookup_skel}, + {"destroy", &POA_CORBA::LocalInterfaceDef::destroy_skel}, + {"describe_interface", &POA_CORBA::LocalInterfaceDef::describe_interface_skel}, + {"_get_id", &POA_CORBA::LocalInterfaceDef::_get_id_skel}, + {"_set_id", &POA_CORBA::LocalInterfaceDef::_set_id_skel}, + {"create_struct", &POA_CORBA::LocalInterfaceDef::create_struct_skel}, + {"create_constant", &POA_CORBA::LocalInterfaceDef::create_constant_skel}, + {"_get_def_kind", &POA_CORBA::LocalInterfaceDef::_get_def_kind_skel}, + {"_get_base_interfaces", &POA_CORBA::LocalInterfaceDef::_get_base_interfaces_skel}, + {"_set_base_interfaces", &POA_CORBA::LocalInterfaceDef::_set_base_interfaces_skel}, + {"_get_containing_repository", &POA_CORBA::LocalInterfaceDef::_get_containing_repository_skel}, + {"describe_contents", &POA_CORBA::LocalInterfaceDef::describe_contents_skel}, + {"_non_existent", &POA_CORBA::LocalInterfaceDef::_non_existent_skel}, + }; + + static const signed char lookup[] = + { + -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -66, + -14, -2, -67, 12, -18, -3, 13, -65, 16, 17, -64, 21, 22, 23, + 24, -26, -2, 25, -61, 28, -1, 29, 30, 31, 32, -1, -33, -2, + -60, 35, -1, 36, -38, -2, 37, -1, -62, 40, 41, -1, -1, -1, + -1, -1, 42, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + int slot = lookup[key]; + + if (slot >= 0 && slot < MAX_HASH_VALUE) + { + const char *s = wordlist[slot].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[slot]; + } + else if (slot < 0 && slot >= -MAX_HASH_VALUE) + return 0; + else + { + unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); + const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; + const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; + + while (--ptr >= base) + if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1)) + return ptr; + } + } + } + return 0; +} +/* ending time is 10:44:38 */ +static TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable tao_CORBA_LocalInterfaceDef_optable; + + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Implementation +// + +// Factory function Implementation. +POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker *POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::the_TAO_LocalInterfaceDef_Strategized_Proxy_Broker (void) +{ + static POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker; + return &strategized_proxy_broker; +} + +POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + this->proxy_cache_[i] = 0; + +} + +POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::~_TAO_LocalInterfaceDef_Strategized_Proxy_Broker (void) +{ + for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) + delete this->proxy_cache_[i]; + +} + +_TAO_LocalInterfaceDef_Proxy_Impl& +POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::select_proxy ( + ::CORBA::LocalInterfaceDef *object, + CORBA::Environment &ACE_TRY_ENV + ) +{ + int strategy = + TAO_ORB_Core::collocation_strategy (object); + + if (this->proxy_cache_[strategy] != 0) + return *this->proxy_cache_[strategy]; + + this->create_proxy (strategy, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + + return *this->proxy_cache_[strategy]; + +} + +void +POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::create_proxy ( + int strategy, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_); + + if (this->proxy_cache_[strategy] == 0) + { + switch (strategy) + { + case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + _TAO_LocalInterfaceDef_ThruPOA_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: + default: + ACE_NEW_THROW_EX ( + this->proxy_cache_[strategy], + ::_TAO_LocalInterfaceDef_Remote_Proxy_Impl, + CORBA::NO_MEMORY () + ); + ACE_CHECK; + break; + + } + + } +} + + +// +// End Strategized Proxy Broker Implementation +/////////////////////////////////////////////////////////////////////// + + +_TAO_LocalInterfaceDef_Proxy_Broker * +CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj) +{ + ACE_UNUSED_ARG (obj); + return ::POA_CORBA::_TAO_LocalInterfaceDef_Strategized_Proxy_Broker::the_TAO_LocalInterfaceDef_Strategized_Proxy_Broker(); +} + +int +CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer (long _dummy_) +{ + ACE_UNUSED_ARG (_dummy_); + + CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function_pointer = + CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function; + + return 0; +} + +static int CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = + CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer)); + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Proxy Implementation +// + +POA_CORBA::_TAO_LocalInterfaceDef_ThruPOA_Proxy_Impl::_TAO_LocalInterfaceDef_ThruPOA_Proxy_Impl (void) +{} + +// ThruPOA Implementation of the IDL interface methods + +// +// End ThruPOA Proxy Implementation +/////////////////////////////////////////////////////////////////////// + +// skeleton constructor +POA_CORBA::LocalInterfaceDef::LocalInterfaceDef (void) +{ + this->optable_ = &tao_CORBA_LocalInterfaceDef_optable; +} + +// copy ctor +POA_CORBA::LocalInterfaceDef::LocalInterfaceDef (const LocalInterfaceDef& rhs) + : ACE_NESTED_CLASS (POA_CORBA,InterfaceDef) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Container) (rhs), + ACE_NESTED_CLASS (POA_CORBA,Contained) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IDLType) (rhs), + ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs), + TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_CORBA::LocalInterfaceDef::~LocalInterfaceDef (void) +{ +} + +void POA_CORBA::LocalInterfaceDef::_is_a_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_CORBA::LocalInterfaceDef *_tao_impl = (POA_CORBA::LocalInterfaceDef *) _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 (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_CORBA::LocalInterfaceDef::_non_existent_skel ( + TAO_ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_CORBA::LocalInterfaceDef *_tao_impl = (POA_CORBA::LocalInterfaceDef *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (); + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_CORBA::LocalInterfaceDef::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/LocalInterfaceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, base_id))) + return 1; + else + return 0; +} + +void* POA_CORBA::LocalInterfaceDef::_downcast ( + const char* logical_type_id + ) +{ + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/LocalInterfaceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::LocalInterfaceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0) + return ACE_static_cast (POA_CORBA::InterfaceDef_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0) + return ACE_static_cast (POA_CORBA::Container_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0) + return ACE_static_cast (POA_CORBA::Contained_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0) + return ACE_static_cast (POA_CORBA::IDLType_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0) + return ACE_static_cast (POA_CORBA::IRObject_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_CORBA::LocalInterfaceDef::_dispatch (TAO_ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + this->synchronous_upcall_dispatch(req, context, this, ACE_TRY_ENV); +} + +const char* POA_CORBA::LocalInterfaceDef::_interface_repository_id (void) const +{ + return "IDL:omg.org/CORBA/LocalInterfaceDef:1.0"; +} + +CORBA::LocalInterfaceDef* +POA_CORBA::LocalInterfaceDef::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0); + else + ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0); + + CORBA::Object_var obj = tmp; + return ::CORBA::LocalInterfaceDef::_unchecked_narrow (obj.in ()); +} + + +#if (TAO_HAS_INTERCEPTORS == 1) +#endif /* TAO_HAS_INTERCEPTORS */ + +#endif /* ifndef */ |