summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp')
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp19809
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 */