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