diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-08-31 04:05:30 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-08-31 04:05:30 +0000 |
commit | e0a6c508297aec19631c9840f59217d4094da1ed (patch) | |
tree | 49f6b5eecda6aeaf0603bbd56c5142ffedd32ca8 | |
parent | 969005bad2faf37201da330fa20fd00d289f5ca8 (diff) | |
download | ATCD-e0a6c508297aec19631c9840f59217d4094da1ed.tar.gz |
Complete new collocation changes.
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/Collocation_Resolver.h | 3 | ||||
-rw-r--r-- | TAO/tao/Default_Collocation_Resolver.cpp | 3 | ||||
-rw-r--r-- | TAO/tao/Default_Collocation_Resolver.h | 3 | ||||
-rw-r--r-- | TAO/tao/Makefile | 4 | ||||
-rw-r--r-- | TAO/tao/Makefile.bor | 2 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 45 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 4 | ||||
-rw-r--r-- | TAO/tao/PortableServer/ImplRepoS.cpp | 901 | ||||
-rw-r--r-- | TAO/tao/PortableServer/MessagingS.cpp | 3 | ||||
-rw-r--r-- | TAO/tao/PortableServer/PolicyS.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/PortableServer/Strategized_Object_Proxy_Broker.cpp | 3 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/Makefile | 1 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/Makefile.bor | 1 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp | 33 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/RT_Collocation_Resolver.h | 3 | ||||
-rw-r--r-- | TAO/tao/RTPortableServer/TAO_RTPortableServer_Static.dsp | 12 | ||||
-rw-r--r-- | TAO/tests/RTCORBA/Collocation/README | 38 | ||||
-rw-r--r-- | TAO/tests/RTCORBA/Makefile | 1 | ||||
-rw-r--r-- | TAO/tests/RTCORBA/Makefile.bor | 1 |
20 files changed, 591 insertions, 483 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp index d28d73c1de8..d92f677b77b 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp @@ -78,7 +78,9 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface (be_interface << be_idt_nl // idt = 1 << "int strategy =" << be_idt_nl // idt = 2 - << "TAO_ORB_Core::collocation_strategy (object);" + << "TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV);" + << be_nl + << "ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);" << be_uidt_nl << be_nl // idt = 1 << "if (this->proxy_cache_[strategy] != 0)" << be_idt_nl // idt = 2 diff --git a/TAO/tao/Collocation_Resolver.h b/TAO/tao/Collocation_Resolver.h index e4e391d0c12..1388d4c9238 100644 --- a/TAO/tao/Collocation_Resolver.h +++ b/TAO/tao/Collocation_Resolver.h @@ -38,7 +38,8 @@ public: virtual ~TAO_Collocation_Resolver (void); /// Is <object> collocated? - virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object) const = 0; + virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV) const = 0; }; #if defined (__ACE_INLINE__) diff --git a/TAO/tao/Default_Collocation_Resolver.cpp b/TAO/tao/Default_Collocation_Resolver.cpp index 95a6a21c2b3..f754ee649b4 100644 --- a/TAO/tao/Default_Collocation_Resolver.cpp +++ b/TAO/tao/Default_Collocation_Resolver.cpp @@ -11,7 +11,8 @@ ACE_RCSID(tao, Default_Collocation_Resolver, "$Id$") #endif /* ! __ACE_INLINE__ */ CORBA::Boolean -TAO_Default_Collocation_Resolver::is_collocated (CORBA::Object_ptr object) const +TAO_Default_Collocation_Resolver::is_collocated (CORBA::Object_ptr object, + CORBA::Environment &) const { return object->_is_collocated (); } diff --git a/TAO/tao/Default_Collocation_Resolver.h b/TAO/tao/Default_Collocation_Resolver.h index 8ec1ca4af09..352a06a8d06 100644 --- a/TAO/tao/Default_Collocation_Resolver.h +++ b/TAO/tao/Default_Collocation_Resolver.h @@ -36,7 +36,8 @@ class TAO_Export TAO_Default_Collocation_Resolver : public: /// Is <object> collocated? - virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object) const; + virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV) const; }; ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_Default_Collocation_Resolver) diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile index 9939a5c1742..09a8e13ccf2 100644 --- a/TAO/tao/Makefile +++ b/TAO/tao/Makefile @@ -46,6 +46,8 @@ PUB_HDRS = \ Server_Strategy_Factory \ Client_Strategy_Factory \ ORB_Core \ + Collocation_Resolver \ + Default_Collocation_Resolver \ ORB_Table \ LF_Follower \ LF_Follower_Auto_Adder \ @@ -191,6 +193,8 @@ ORB_CORE_FILES = \ OctetSeqC \ StringSeqC \ ORB_Core \ + Collocation_Resolver \ + Default_Collocation_Resolver \ Stub_Factory \ ORB_Table \ LF_Follower \ diff --git a/TAO/tao/Makefile.bor b/TAO/tao/Makefile.bor index 960ee7bbed2..7095be5b5d2 100644 --- a/TAO/tao/Makefile.bor +++ b/TAO/tao/Makefile.bor @@ -48,6 +48,8 @@ OBJFILES = \ $(OBJDIR)\Client_Strategy_Factory.obj \ $(OBJDIR)\CodecFactory.obj \ $(OBJDIR)\CodecFactory_ORBInitializer.obj \ + $(OBJDIR)\Collocation_Resolver.obj \ + $(OBJDIR)\Default_Collocation_Resolver.obj \ $(OBJDIR)\Connection_Purging_Strategy.obj \ $(OBJDIR)\Connection_handler.obj \ $(OBJDIR)\Connector_Impl.obj \ diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 132f8271658..41094a94356 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -2828,29 +2828,40 @@ TAO_ORB_Core_instance (void) int -TAO_ORB_Core::collocation_strategy (CORBA::Object_ptr object) +TAO_ORB_Core::collocation_strategy (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV) { TAO_Stub *stub = object->_stubobj (); if (!CORBA::is_nil (stub->servant_orb_var ().in ()) && - stub->servant_orb_var ()->orb_core () != 0 && - stub->servant_orb_var ()->orb_core ()->collocation_resolver ().is_collocated (object)) + stub->servant_orb_var ()->orb_core () != 0) { - switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + TAO_ORB_Core *orb_core = + stub->servant_orb_var ()->orb_core (); + + int collocated = + orb_core->collocation_resolver ().is_collocated (object, + ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); + + if (collocated) { - case THRU_POA: - return TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY; - - case DIRECT: - { - ///////////////////////////////////////////////////////////// - // If the servant is null and you are collocated this means - // that the POA policy NON-RETAIN is set, and with that policy - // using the DIRECT collocation strategy is just insane. - ///////////////////////////////////////////////////////////// - ACE_ASSERT (object->_servant () != 0); - return TAO_Collocation_Strategies::CS_DIRECT_STRATEGY; - } + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case THRU_POA: + return TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY; + + case DIRECT: + { + ///////////////////////////////////////////////////////////// + // If the servant is null and you are collocated this means + // that the POA policy NON-RETAIN is set, and with that policy + // using the DIRECT collocation strategy is just insane. + ///////////////////////////////////////////////////////////// + ACE_ASSERT (object->_servant () != 0); + return TAO_Collocation_Strategies::CS_DIRECT_STRATEGY; + } + } } } diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 331a83fc42a..5fafafb8263 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -260,8 +260,8 @@ public: * @note * No-Collocation is a special case of collocation. */ - static int collocation_strategy ( - CORBA::Object_ptr object); + static int collocation_strategy (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV); //@} /** diff --git a/TAO/tao/PortableServer/ImplRepoS.cpp b/TAO/tao/PortableServer/ImplRepoS.cpp index 50d726e2af9..fb6efdcf9ab 100644 --- a/TAO/tao/PortableServer/ImplRepoS.cpp +++ b/TAO/tao/PortableServer/ImplRepoS.cpp @@ -161,7 +161,7 @@ public: TAO_ServerRequest &_tao_server_request, TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::ServerObject *tao_impl , - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -170,36 +170,36 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &); - + private: POA_ImplementationRepository::ServerObject *_tao_impl; - + }; TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping ( @@ -220,7 +220,7 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::arguments (COR Dynamic::ParameterList *parameter_list = TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return parameter_list; } @@ -232,12 +232,12 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::exceptions (CO Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -246,7 +246,7 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::result (CORBA: CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -275,7 +275,7 @@ public: TAO_ServerRequest &_tao_server_request, TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::ServerObject *tao_impl , - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -284,36 +284,36 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &); - + private: POA_ImplementationRepository::ServerObject *_tao_impl; - + }; TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown ( @@ -334,7 +334,7 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::arguments Dynamic::ParameterList *parameter_list = TAO_RequestInfo_Util::make_parameter_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return parameter_list; } @@ -346,12 +346,12 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::exceptions Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -360,7 +360,7 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::result (CO CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -416,7 +416,8 @@ POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::select ) { int strategy = - TAO_ORB_Core::collocation_strategy (object); + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); if (this->proxy_cache_[strategy] != 0) return *this->proxy_cache_[strategy]; @@ -489,13 +490,13 @@ ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function (CORBA: int ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer (long) { - ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer = + ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer = ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function; - + return 0; } -static int ImplementationRepository__TAO_ServerObject_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = +static int ImplementationRepository__TAO_ServerObject_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer)); @@ -643,37 +644,37 @@ void POA_ImplementationRepository::ServerObject::ping_skel ( { POA_ImplementationRepository::ServerObject *_tao_impl = ACE_static_cast (POA_ImplementationRepository::ServerObject *, _tao_object_reference); - + _tao_server_request.argument_flag (0); - + #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping ri ( _tao_server_request, _tao_upcall, _tao_impl, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->ping ( ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -687,11 +688,11 @@ void POA_ImplementationRepository::ServerObject::ping_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -699,12 +700,12 @@ void POA_ImplementationRepository::ServerObject::ping_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -718,37 +719,37 @@ void POA_ImplementationRepository::ServerObject::shutdown_skel ( { POA_ImplementationRepository::ServerObject *_tao_impl = ACE_static_cast (POA_ImplementationRepository::ServerObject *, _tao_object_reference); - + _tao_server_request.argument_flag (0); - + #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown ri ( _tao_server_request, _tao_upcall, _tao_impl, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->shutdown ( ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -762,11 +763,11 @@ void POA_ImplementationRepository::ServerObject::shutdown_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -774,18 +775,18 @@ void POA_ImplementationRepository::ServerObject::shutdown_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } void POA_ImplementationRepository::ServerObject::_is_a_skel ( - TAO_ServerRequest &_tao_server_request, + TAO_ServerRequest &_tao_server_request, void * _tao_object_reference, void * /* Servant_Upcall */, CORBA::Environment &ACE_TRY_ENV @@ -918,20 +919,20 @@ POA_ImplementationRepository::ServerObject::_this (CORBA_Environment &ACE_TRY_EN { TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + TAO_Stub_Auto_Ptr safe_stub (stub); - + 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; - + (void) safe_stub.release (); - + return ::ImplementationRepository::ServerObject::_unchecked_narrow (obj.in ()); } @@ -1015,23 +1016,23 @@ TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const static const class TAO_operation_db_entry wordlist[] = { {"",0},{"",0},{"",0},{"",0}, - {"find", &POA_ImplementationRepository::Administration::find_skel}, + {"find", &POA_ImplementationRepository::Administration::find_skel}, {"",0},{"",0},{"",0},{"",0}, {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel}, {"_interface", &POA_ImplementationRepository::Administration::_interface_skel}, {"",0},{"",0}, - {"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel}, - {"list", &POA_ImplementationRepository::Administration::list_skel}, - {"register_server", &POA_ImplementationRepository::Administration::register_server_skel}, + {"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel}, + {"list", &POA_ImplementationRepository::Administration::list_skel}, + {"register_server", &POA_ImplementationRepository::Administration::register_server_skel}, {"",0}, - {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel}, + {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel}, {"_non_existent", &POA_ImplementationRepository::Administration::_non_existent_skel}, - {"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel}, - {"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel}, + {"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel}, + {"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel}, {"",0}, - {"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel}, + {"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel}, {"",0},{"",0},{"",0},{"",0},{"",0}, - {"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel}, + {"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel}, }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) @@ -1060,7 +1061,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , const char * server, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1069,37 +1070,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server ( @@ -1122,16 +1123,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::a 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1143,15 +1144,15 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::e Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_activate_server_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_activate_server_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::_tc_CannotActivate }; - + exception_list->length (2); for (CORBA::ULong i = 0; i < 2; ++i) { @@ -1164,7 +1165,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::e } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1173,7 +1174,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::r CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -1204,7 +1205,7 @@ public: , const char * server, const ImplementationRepository::StartupOptions & options, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1213,38 +1214,38 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; const ImplementationRepository::StartupOptions & options_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server ( @@ -1269,19 +1270,19 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::a 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; - + parameter_list->length (2); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; (*parameter_list)[len].argument <<= this->options_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1293,14 +1294,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::e Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_register_server_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_register_server_exceptiondata[] = { ImplementationRepository::Administration::_tc_AlreadyRegistered }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -1313,7 +1314,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::e } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1322,7 +1323,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::r CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -1353,7 +1354,7 @@ public: , const char * server, const ImplementationRepository::StartupOptions & options, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1362,38 +1363,38 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; const ImplementationRepository::StartupOptions & options_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server ( @@ -1418,19 +1419,19 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server: 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; - + parameter_list->length (2); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; (*parameter_list)[len].argument <<= this->options_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1442,12 +1443,12 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server: Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1456,7 +1457,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server: CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -1486,7 +1487,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , const char * server, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1495,37 +1496,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server ( @@ -1548,16 +1549,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::arg 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1569,14 +1570,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::exc Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_remove_server_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_remove_server_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -1589,7 +1590,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::exc } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1598,7 +1599,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::res CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -1628,7 +1629,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , const char * server, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1637,37 +1638,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server ( @@ -1690,16 +1691,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::a 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1711,14 +1712,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::e Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -1731,7 +1732,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::e } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1740,7 +1741,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::r CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -1772,7 +1773,7 @@ public: const char * server, const char * addr, ImplementationRepository::ServerObject_ptr server_object, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1781,23 +1782,23 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) @@ -1808,7 +1809,7 @@ public: private: TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; @@ -1841,12 +1842,12 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: 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; - + parameter_list->length (3); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; @@ -1856,7 +1857,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: (*parameter_list)[len].argument <<= this->server_object_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -1868,14 +1869,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_running_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_running_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -1888,7 +1889,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -1897,11 +1898,11 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: 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 (); } @@ -1923,7 +1924,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running: return this->_tao_impl->_is_a (id, ACE_TRY_ENV); } -void +void TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::result (char * result) { // Update the result. @@ -1938,7 +1939,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , const char * server, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -1947,37 +1948,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down ( @@ -2000,16 +2001,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -2021,14 +2022,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -2041,7 +2042,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -2050,7 +2051,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -2080,7 +2081,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , const char * server, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -2089,37 +2090,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_find (const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const char * server_; - + }; TAO_ServerRequestInfo_ImplementationRepository_Administration_find::TAO_ServerRequestInfo_ImplementationRepository_Administration_find ( @@ -2142,16 +2143,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_find::arguments (C 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= server_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -2163,14 +2164,14 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_find::exceptions ( Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + Dynamic::ExceptionList_var safe_exception_list = exception_list; - - static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_find_exceptiondata[] = + + static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_find_exceptiondata[] = { ImplementationRepository::Administration::_tc_NotFound }; - + exception_list->length (1); for (CORBA::ULong i = 0; i < 1; ++i) { @@ -2183,7 +2184,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_find::exceptions ( } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_find::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -2192,7 +2193,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_find::result (CORB CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -2221,9 +2222,9 @@ public: TAO_ServerRequest &_tao_server_request, TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::Administration *tao_impl , - const CORBA::ULong & how_many + const CORBA::ULong & how_many , - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -2232,37 +2233,37 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_Administration_list (const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &); - + private: POA_ImplementationRepository::Administration *_tao_impl; const CORBA::ULong & how_many_; - + }; @@ -2270,13 +2271,13 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_list::TAO_ServerRe TAO_ServerRequest &_tao_server_request, TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall, POA_ImplementationRepository::Administration *tao_impl, - const CORBA::ULong & how_many + const CORBA::ULong & how_many , CORBA::Environment & ) : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall), _tao_impl (tao_impl), - how_many_ (how_many) + how_many_ (how_many) {} @@ -2288,16 +2289,16 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_list::arguments (C 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= how_many_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -2310,12 +2311,12 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_list::exceptions ( Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_Administration_list::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -2324,7 +2325,7 @@ TAO_ServerRequestInfo_ImplementationRepository_Administration_list::result (CORB CORBA::Any *result_any = TAO_RequestInfo_Util::make_any (tk_void_any, ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return result_any; } @@ -2363,14 +2364,14 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::_TAO { for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) this->proxy_cache_[i] = 0; - + } POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::~_TAO_Administration_Strategized_Proxy_Broker (void) { for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i) delete this->proxy_cache_[i]; - + } ImplementationRepository::_TAO_Administration_Proxy_Impl& @@ -2380,26 +2381,27 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::sele ) { int strategy = - TAO_ORB_Core::collocation_strategy (object); - + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); + 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 +void POA_ImplementationRepository::_TAO_Administration_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) @@ -2412,7 +2414,7 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::crea ); ACE_CHECK; break; - + case TAO_Collocation_Strategies::CS_DIRECT_STRATEGY: ACE_NEW_THROW_EX ( this->proxy_cache_[strategy], @@ -2421,7 +2423,7 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::crea ); ACE_CHECK; break; - + case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY: default: ACE_NEW_THROW_EX ( @@ -2431,9 +2433,9 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::crea ); ACE_CHECK; break; - + } - + } } @@ -2453,13 +2455,13 @@ ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function (CORB int ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer (long) { - ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer = + ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer = ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function; - + return 0; } -static int ImplementationRepository__TAO_Administration_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = +static int ImplementationRepository__TAO_Administration_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer)); @@ -2813,7 +2815,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activa server, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::register_server ( @@ -2835,7 +2837,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::regist options, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregister_server ( @@ -2856,7 +2858,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregi options, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_server ( @@ -2876,7 +2878,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove server, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_server ( @@ -2896,7 +2898,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdo server, ACE_TRY_ENV ); - + } char * POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_running ( @@ -2920,7 +2922,7 @@ char * POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::serv server_object, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_shutting_down ( @@ -2940,7 +2942,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server server, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find ( @@ -2962,7 +2964,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find info, ACE_TRY_ENV ); - + } void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list ( @@ -2985,7 +2987,7 @@ void POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list server_iterator, ACE_TRY_ENV ); - + } @@ -3018,7 +3020,7 @@ void POA_ImplementationRepository::Administration::activate_server_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; if (!( @@ -3030,12 +3032,12 @@ void POA_ImplementationRepository::Administration::activate_server_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server ri ( _tao_server_request, _tao_upcall, @@ -3043,20 +3045,20 @@ void POA_ImplementationRepository::Administration::activate_server_skel ( server.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->activate_server ( server.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); @@ -3070,11 +3072,11 @@ void POA_ImplementationRepository::Administration::activate_server_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3082,12 +3084,12 @@ void POA_ImplementationRepository::Administration::activate_server_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3102,7 +3104,7 @@ void POA_ImplementationRepository::Administration::register_server_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; ImplementationRepository::StartupOptions options; @@ -3116,12 +3118,12 @@ void POA_ImplementationRepository::Administration::register_server_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server ri ( _tao_server_request, _tao_upcall, @@ -3130,21 +3132,21 @@ void POA_ImplementationRepository::Administration::register_server_skel ( options, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->register_server ( server.in (), options, ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -3158,11 +3160,11 @@ void POA_ImplementationRepository::Administration::register_server_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3170,12 +3172,12 @@ void POA_ImplementationRepository::Administration::register_server_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3190,7 +3192,7 @@ void POA_ImplementationRepository::Administration::reregister_server_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; ImplementationRepository::StartupOptions options; @@ -3204,12 +3206,12 @@ void POA_ImplementationRepository::Administration::reregister_server_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server ri ( _tao_server_request, _tao_upcall, @@ -3218,21 +3220,21 @@ void POA_ImplementationRepository::Administration::reregister_server_skel ( options, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->reregister_server ( server.in (), options, ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -3246,11 +3248,11 @@ void POA_ImplementationRepository::Administration::reregister_server_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3258,12 +3260,12 @@ void POA_ImplementationRepository::Administration::reregister_server_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3278,7 +3280,7 @@ void POA_ImplementationRepository::Administration::remove_server_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; if (!( @@ -3290,12 +3292,12 @@ void POA_ImplementationRepository::Administration::remove_server_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server ri ( _tao_server_request, _tao_upcall, @@ -3303,20 +3305,20 @@ void POA_ImplementationRepository::Administration::remove_server_skel ( server.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->remove_server ( server.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); @@ -3330,11 +3332,11 @@ void POA_ImplementationRepository::Administration::remove_server_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3342,12 +3344,12 @@ void POA_ImplementationRepository::Administration::remove_server_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3362,7 +3364,7 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; if (!( @@ -3374,12 +3376,12 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server ri ( _tao_server_request, _tao_upcall, @@ -3387,20 +3389,20 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel ( server.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->shutdown_server ( server.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); @@ -3414,11 +3416,11 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3426,12 +3428,12 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3446,7 +3448,7 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + CORBA::String_var _tao_retval; CORBA::String_var server; CORBA::String_var addr; @@ -3462,12 +3464,12 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running ri ( _tao_server_request, _tao_upcall, @@ -3477,14 +3479,14 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( server_object.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - _tao_retval = + _tao_retval = _tao_impl->server_is_running ( server.in (), addr.in (), @@ -3492,7 +3494,7 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) char * _tao_retval_info = _tao_retval._retn (); ri.result (_tao_retval_info); @@ -3509,11 +3511,11 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3521,11 +3523,11 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( 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 ()) )) @@ -3533,7 +3535,7 @@ void POA_ImplementationRepository::Administration::server_is_running_skel ( // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3548,7 +3550,7 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + _tao_server_request.argument_flag (0); CORBA::String_var server; if (!( @@ -3560,12 +3562,12 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down ri ( _tao_server_request, _tao_upcall, @@ -3573,20 +3575,20 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel server.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->server_is_shutting_down ( server.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); @@ -3600,11 +3602,11 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3612,12 +3614,12 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3632,7 +3634,7 @@ void POA_ImplementationRepository::Administration::find_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + CORBA::String_var server; ImplementationRepository::ServerInformation_var info; if (!( @@ -3644,12 +3646,12 @@ void POA_ImplementationRepository::Administration::find_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_find ri ( _tao_server_request, _tao_upcall, @@ -3657,21 +3659,21 @@ void POA_ImplementationRepository::Administration::find_skel ( server.in (), ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->find ( server.in (), info.out (), ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -3685,11 +3687,11 @@ void POA_ImplementationRepository::Administration::find_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3697,11 +3699,11 @@ void POA_ImplementationRepository::Administration::find_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); - + if (!( (_tao_out << info.in ()) )) @@ -3709,7 +3711,7 @@ void POA_ImplementationRepository::Administration::find_skel ( // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -3724,7 +3726,7 @@ void POA_ImplementationRepository::Administration::list_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::Administration *_tao_impl = ACE_static_cast (POA_ImplementationRepository::Administration *, _tao_object_reference); - + CORBA::ULong how_many; ImplementationRepository::ServerInformationList_var server_list; ImplementationRepository::ServerInformationIterator_var server_iterator; @@ -3737,28 +3739,28 @@ void POA_ImplementationRepository::Administration::list_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_Administration_list ri ( _tao_server_request, _tao_upcall, _tao_impl, - how_many + how_many , ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->list ( how_many, server_list.out (), @@ -3766,7 +3768,7 @@ void POA_ImplementationRepository::Administration::list_skel ( ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -3780,11 +3782,11 @@ void POA_ImplementationRepository::Administration::list_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -3792,11 +3794,11 @@ void POA_ImplementationRepository::Administration::list_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); - + if (!( (_tao_out << server_list.in ()) && (_tao_out << server_iterator.in ()) @@ -3805,13 +3807,13 @@ void POA_ImplementationRepository::Administration::list_skel ( // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } void POA_ImplementationRepository::Administration::_is_a_skel ( - TAO_ServerRequest &_tao_server_request, + TAO_ServerRequest &_tao_server_request, void * _tao_object_reference, void * /* Servant_Upcall */, CORBA::Environment &ACE_TRY_ENV @@ -3823,10 +3825,10 @@ void POA_ImplementationRepository::Administration::_is_a_skel ( 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))) @@ -3834,7 +3836,7 @@ void POA_ImplementationRepository::Administration::_is_a_skel ( } void POA_ImplementationRepository::Administration::_non_existent_skel ( - TAO_ServerRequest &_tao_server_request, + TAO_ServerRequest &_tao_server_request, void * _tao_object_reference, void * /* Servant_Upcall */, CORBA::Environment &ACE_TRY_ENV @@ -3843,7 +3845,7 @@ void POA_ImplementationRepository::Administration::_non_existent_skel ( 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 (); TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval))) @@ -3851,7 +3853,7 @@ void POA_ImplementationRepository::Administration::_non_existent_skel ( } void POA_ImplementationRepository::Administration::_interface_skel ( - TAO_ServerRequest &_tao_server_request, + TAO_ServerRequest &_tao_server_request, void * _tao_object_reference, void * /* Servant_Upcall */, CORBA::Environment &ACE_TRY_ENV @@ -3860,26 +3862,26 @@ void POA_ImplementationRepository::Administration::_interface_skel ( POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *) _tao_object_reference; CORBA_InterfaceDef_ptr _tao_retval = 0; CORBA::Boolean _tao_result = 0; - + TAO_IFR_Client_Adapter *_tao_adapter = ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( TAO_ORB_Core::ifr_client_adapter_name () ); - + if (_tao_adapter == 0) { ACE_THROW (CORBA::INTF_REPOS ()); } - + ACE_TRY { _tao_retval = _tao_impl->_get_interface (ACE_TRY_ENV); ACE_TRY_CHECK; - + _tao_server_request.init_reply (); - + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); - + _tao_result = _tao_adapter->interfacedef_cdr_insert ( _tao_out, @@ -3891,7 +3893,7 @@ void POA_ImplementationRepository::Administration::_interface_skel ( _tao_adapter->dispose (_tao_retval); } ACE_ENDTRY; - + if (_tao_result == 0) { ACE_THROW (CORBA::MARSHAL ()); @@ -3905,7 +3907,7 @@ CORBA::Boolean POA_ImplementationRepository::Administration::_is_a ( { const char *base_id = CORBA::_tc_Object->id (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + if ( (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/Administration:1.0")) || (!ACE_OS::strcmp ((char *)value, base_id))) @@ -3944,20 +3946,20 @@ POA_ImplementationRepository::Administration::_this (CORBA_Environment &ACE_TRY_ { TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + TAO_Stub_Auto_Ptr safe_stub (stub); - + 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; - + (void) safe_stub.release (); - + return ::ImplementationRepository::Administration::_unchecked_narrow (obj.in ()); } @@ -4042,8 +4044,8 @@ TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::loo { {"",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}, + {"next_n", &POA_ImplementationRepository::ServerInformationIterator::next_n_skel}, + {"destroy", &POA_ImplementationRepository::ServerInformationIterator::destroy_skel}, {"",0},{"",0}, {"_interface", &POA_ImplementationRepository::ServerInformationIterator::_interface_skel}, {"",0},{"",0}, @@ -4076,7 +4078,7 @@ public: TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::ServerInformationIterator *tao_impl , const CORBA::ULong & how_many, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -4085,23 +4087,23 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) @@ -4112,7 +4114,7 @@ public: private: TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &); - + private: POA_ImplementationRepository::ServerInformationIterator *_tao_impl; const CORBA::ULong & how_many_; @@ -4139,16 +4141,16 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n: 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; - + parameter_list->length (1); CORBA::ULong len = 0; - + (*parameter_list)[len].argument <<= how_many_; (*parameter_list)[len].mode = CORBA::PARAM_IN; len++; - + return safe_parameter_list._retn (); } @@ -4160,12 +4162,12 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n: Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -4174,11 +4176,11 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n: 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 (); } @@ -4200,7 +4202,7 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n: return this->_tao_impl->_is_a (id, ACE_TRY_ENV); } -void +void TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::result (CORBA::Boolean result) { // Update the result. @@ -4214,7 +4216,7 @@ public: TAO_ServerRequest &_tao_server_request, TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_ImplementationRepository::ServerInformationIterator *tao_impl , - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -4223,36 +4225,36 @@ public: TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual Dynamic::ExceptionList * exceptions ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Any * result ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual char * target_most_derived_interface ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + virtual CORBA::Boolean target_is_a ( const char * id, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); - + private: TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &); void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &); - + private: POA_ImplementationRepository::ServerInformationIterator *_tao_impl; - + }; TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy ( @@ -4285,12 +4287,12 @@ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy Dynamic::ExceptionList *exception_list = TAO_RequestInfo_Util::make_exception_list (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + return exception_list; } -CORBA::Any * +CORBA::Any * TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::result (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { @@ -4355,7 +4357,8 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_B ) { int strategy = - TAO_ORB_Core::collocation_strategy (object); + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); if (this->proxy_cache_[strategy] != 0) return *this->proxy_cache_[strategy]; @@ -4428,13 +4431,13 @@ ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_fun int ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer (long) { - ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer = + ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer = ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function; - + return 0; } -static int ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = +static int ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer)); @@ -4592,7 +4595,7 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( TAO_InputCDR &_tao_in = _tao_server_request.incoming (); POA_ImplementationRepository::ServerInformationIterator *_tao_impl = ACE_static_cast (POA_ImplementationRepository::ServerInformationIterator *, _tao_object_reference); - + CORBA::Boolean _tao_retval = 0; CORBA::ULong how_many; ImplementationRepository::ServerInformationList_var server_list; @@ -4605,12 +4608,12 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n ri ( _tao_server_request, _tao_upcall, @@ -4618,21 +4621,21 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( how_many, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - _tao_retval = + _tao_retval = _tao_impl->next_n ( how_many, server_list.out (), ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) CORBA::Boolean _tao_retval_info = _tao_retval; ri.result (_tao_retval_info); @@ -4648,11 +4651,11 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -4673,7 +4676,7 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } @@ -4687,37 +4690,37 @@ void POA_ImplementationRepository::ServerInformationIterator::destroy_skel ( { POA_ImplementationRepository::ServerInformationIterator *_tao_impl = ACE_static_cast (POA_ImplementationRepository::ServerInformationIterator *, _tao_object_reference); - + _tao_server_request.argument_flag (0); - + #if (TAO_HAS_INTERCEPTORS == 1) TAO_Object_Adapter::Servant_Upcall *_tao_upcall = ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall); - + TAO_ServerRequestInterceptor_Adapter _tao_vfr ( _tao_server_request.orb_core ()->server_request_interceptors (), _tao_server_request.interceptor_count () ); - + TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy ri ( _tao_server_request, _tao_upcall, _tao_impl, ACE_TRY_ENV ); - + ACE_TRY { _tao_vfr.receive_request (&ri, ACE_TRY_ENV); ACE_TRY_CHECK; - + #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_impl->destroy ( ACE_TRY_ENV ); TAO_INTERCEPTOR_CHECK; - + #if (TAO_HAS_INTERCEPTORS == 1) ri.reply_status (PortableInterceptor::SUCCESSFUL); _tao_vfr.send_reply (&ri, ACE_TRY_ENV); @@ -4731,11 +4734,11 @@ void POA_ImplementationRepository::ServerInformationIterator::destroy_skel ( ACE_TRY_ENV ); ACE_TRY_CHECK; - + PortableInterceptor::ReplyStatus _tao_status = ri.reply_status (ACE_TRY_ENV); ACE_TRY_CHECK; - + if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION || _tao_status == PortableInterceptor::USER_EXCEPTION) ACE_RE_THROW; @@ -4743,18 +4746,18 @@ void POA_ImplementationRepository::ServerInformationIterator::destroy_skel ( ACE_ENDTRY; ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ - + _tao_server_request.init_reply (); - + // In case _tao_servant_upcall is not used in this function ACE_UNUSED_ARG (_tao_servant_upcall); - + // In case ACE_TRY_ENV is not used in this function ACE_UNUSED_ARG (ACE_TRY_ENV); } void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel ( - TAO_ServerRequest &_tao_server_request, + TAO_ServerRequest &_tao_server_request, void * _tao_object_reference, void * /* Servant_Upcall */, CORBA::Environment &ACE_TRY_ENV @@ -4887,20 +4890,20 @@ POA_ImplementationRepository::ServerInformationIterator::_this (CORBA_Environmen { TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - + TAO_Stub_Auto_Ptr safe_stub (stub); - + 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; - + (void) safe_stub.release (); - + return ::ImplementationRepository::ServerInformationIterator::_unchecked_narrow (obj.in ()); } diff --git a/TAO/tao/PortableServer/MessagingS.cpp b/TAO/tao/PortableServer/MessagingS.cpp index 94fd4a20ffb..9191214934a 100644 --- a/TAO/tao/PortableServer/MessagingS.cpp +++ b/TAO/tao/PortableServer/MessagingS.cpp @@ -190,7 +190,8 @@ POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::select_proxy ( ) { int strategy = - TAO_ORB_Core::collocation_strategy (object); + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); if (this->proxy_cache_[strategy] != 0) return *this->proxy_cache_[strategy]; diff --git a/TAO/tao/PortableServer/PolicyS.cpp b/TAO/tao/PortableServer/PolicyS.cpp index 0199f0e709f..871d5b5ca21 100644 --- a/TAO/tao/PortableServer/PolicyS.cpp +++ b/TAO/tao/PortableServer/PolicyS.cpp @@ -125,16 +125,16 @@ TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len static const class TAO_operation_db_entry wordlist[] = { {"",0},{"",0},{"",0},{"",0}, - {"copy", &POA_CORBA_Policy::copy_skel}, + {"copy", &POA_CORBA_Policy::copy_skel}, {"_is_a", &POA_CORBA_Policy::_is_a_skel}, {"",0}, - {"destroy", &POA_CORBA_Policy::destroy_skel}, + {"destroy", &POA_CORBA_Policy::destroy_skel}, {"",0},{"",0}, {"_interface", &POA_CORBA_Policy::_interface_skel}, {"",0},{"",0}, {"_non_existent", &POA_CORBA_Policy::_non_existent_skel}, {"",0},{"",0}, - {"_get_policy_type", &POA_CORBA_Policy::_get_policy_type_skel}, + {"_get_policy_type", &POA_CORBA_Policy::_get_policy_type_skel}, }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) @@ -552,7 +552,8 @@ POA_CORBA_TAO_Policy_Strategized_Proxy_Broker::select_proxy ( ) { int strategy = - TAO_ORB_Core::collocation_strategy (object); + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); if (this->proxy_cache_[strategy] != 0) return *this->proxy_cache_[strategy]; diff --git a/TAO/tao/PortableServer/Strategized_Object_Proxy_Broker.cpp b/TAO/tao/PortableServer/Strategized_Object_Proxy_Broker.cpp index 7fc27e57e55..13192281737 100644 --- a/TAO/tao/PortableServer/Strategized_Object_Proxy_Broker.cpp +++ b/TAO/tao/PortableServer/Strategized_Object_Proxy_Broker.cpp @@ -39,7 +39,8 @@ TAO_Strategized_Object_Proxy_Broker::select_proxy (CORBA::Object_ptr object, CORBA::Environment &ACE_TRY_ENV) { int strategy = - TAO_ORB_Core::collocation_strategy (object); + TAO_ORB_Core::collocation_strategy (object, ACE_TRY_ENV); + ACE_CHECK_RETURN (*this->proxy_cache_[strategy]); if (this->proxy_cache_[strategy] != 0) return *this->proxy_cache_[strategy]; diff --git a/TAO/tao/RTPortableServer/Makefile b/TAO/tao/RTPortableServer/Makefile index 24646cd1f4c..b9d86a7778c 100644 --- a/TAO/tao/RTPortableServer/Makefile +++ b/TAO/tao/RTPortableServer/Makefile @@ -27,6 +27,7 @@ CPP_SRCS += \ RTPortableServer \ RTPortableServerC \ RT_Acceptor_Filters \ + RT_Collocation_Resolver \ RT_Object_Adapter_Factory \ RT_POA \ RT_Policy_Validator \ diff --git a/TAO/tao/RTPortableServer/Makefile.bor b/TAO/tao/RTPortableServer/Makefile.bor index 08f7b14405f..37c455780e9 100644 --- a/TAO/tao/RTPortableServer/Makefile.bor +++ b/TAO/tao/RTPortableServer/Makefile.bor @@ -8,6 +8,7 @@ OBJFILES = \ $(OBJDIR)\RTPortableServer.obj \ $(OBJDIR)\RTPortableServerC.obj \ $(OBJDIR)\RT_Acceptor_Filters.obj \ + $(OBJDIR)\RT_Collocation_Resolver.obj \ $(OBJDIR)\RT_Object_Adapter_Factory.obj \ $(OBJDIR)\RT_POA.obj \ $(OBJDIR)\RT_Policy_Validator.obj \ diff --git a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp index f394b54e0db..4f3552e9f9f 100644 --- a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp +++ b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.cpp @@ -16,22 +16,27 @@ ACE_RCSID(RTCORBA, RT_Collocation_Resolver, "$Id$") #endif /* ! __ACE_INLINE__ */ CORBA::Boolean -TAO_RT_Collocation_Resolver::is_collocated (CORBA::Object_ptr object) const +TAO_RT_Collocation_Resolver::is_collocated (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV) const { + // Make sure that the servant is in the same ORB that created this + // object. if (!object->_is_collocated ()) return 0; - ACE_DECLARE_NEW_CORBA_ENV; - + // Get the orb core. TAO_ORB_Core *orb_core = object->_stubobj ()->servant_orb_var ()->orb_core (); + // Lookup the target POA. Note that Object Adapter lock is held + // until <servant_upcall> dies. TAO_Object_Adapter::Servant_Upcall servant_upcall (orb_core); TAO_POA *poa = servant_upcall.lookup_POA (object->_object_key (), ACE_TRY_ENV); ACE_CHECK_RETURN (0); + // Get the thread pool associated with this POA. TAO_Thread_Pool *target_thread_pool = (TAO_Thread_Pool *) poa->thread_pool (); @@ -50,24 +55,43 @@ TAO_RT_Collocation_Resolver::is_collocated (CORBA::Object_ptr object) const current_thread_pool = ¤t_thread_lane->pool (); + // If the pools don't match, then the current thread belongs to a + // different pool than POA. Therefore, this object is not + // collocated. if (current_thread_pool != target_thread_pool) return 0; + // If the current thread and the POA are in the default thread pool, + // then the object is collocated. if (current_thread_pool == 0) return 1; + // If the current thread and the POA are in a thread pool without + // lanes, then the object is collocated. if (!current_thread_pool->with_lanes ()) return 1; + // Grab the cached policies from the POA. TAO_POA_Cached_Policies &cached_policies = poa->cached_policies (); + // Grab the priority model used by the POA. Note that this cannot + // be NOT_SPECIFIED because NOT_SPECIFIED is not allowed with thread + // pool with lanes. TAO_POA_Cached_Policies::PriorityModel priority_model = cached_policies.priority_model (); + // If the policy is CLIENT_PROPAGATED, then we are collocated + // because the current thread is of the correct priority :-) and + // we'll simple use the current thread to run the upcall. if (priority_model == TAO_POA_Cached_Policies::CLIENT_PROPAGATED) return 1; + // Locate the target servant. We are really not interested in the + // servant itself but in the priority that this servant will run at. + // Note that the operation name is bogus: it is not used because the + // IMPLICIT_ACTIVATION policy is not allowed with SERVER_DECLARED + // policy. poa->locate_servant_i ("operation not used", servant_upcall.system_id_, servant_upcall, @@ -75,9 +99,12 @@ TAO_RT_Collocation_Resolver::is_collocated (CORBA::Object_ptr object) const ACE_TRY_ENV); ACE_CHECK_RETURN (0); + // Get the priority that the servant will run at. CORBA::Short target_priority = servant_upcall.priority (); + // If it matches the current thread's priority, then we are + // collocated. Otherwise we are not. if (target_priority == current_thread_lane->lane_priority ()) return 1; else diff --git a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h index bd625bb8165..059160e17ec 100644 --- a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h +++ b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h @@ -37,7 +37,8 @@ class TAO_RTPortableServer_Export TAO_RT_Collocation_Resolver : public: /// Is <object> collocated? - virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object) const; + virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object, + CORBA::Environment &ACE_TRY_ENV) const; }; ACE_STATIC_SVC_DECLARE_EXPORT (TAO_RTPortableServer, TAO_RT_Collocation_Resolver) diff --git a/TAO/tao/RTPortableServer/TAO_RTPortableServer_Static.dsp b/TAO/tao/RTPortableServer/TAO_RTPortableServer_Static.dsp index e60913865c0..950e2bb9efa 100644 --- a/TAO/tao/RTPortableServer/TAO_RTPortableServer_Static.dsp +++ b/TAO/tao/RTPortableServer/TAO_RTPortableServer_Static.dsp @@ -99,6 +99,10 @@ SOURCE=.\RT_Acceptor_Filters.i # End Source File
# Begin Source File
+SOURCE=.\RT_Collocation_Resolver.i
+# End Source File
+# Begin Source File
+
SOURCE=.\RT_POA.i
# End Source File
# Begin Source File
@@ -115,6 +119,10 @@ SOURCE=.\RT_Acceptor_Filters.h # End Source File
# Begin Source File
+SOURCE=.\RT_Collocation_Resolver.h
+# End Source File
+# Begin Source File
+
SOURCE=.\RT_Object_Adapter_Factory.h
# End Source File
# Begin Source File
@@ -151,6 +159,10 @@ SOURCE=.\RT_Acceptor_Filters.cpp # End Source File
# Begin Source File
+SOURCE=.\RT_Collocation_Resolver.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\RT_Object_Adapter_Factory.cpp
# End Source File
# Begin Source File
diff --git a/TAO/tests/RTCORBA/Collocation/README b/TAO/tests/RTCORBA/Collocation/README index 8a1ee7f02b9..ee02bff879d 100644 --- a/TAO/tests/RTCORBA/Collocation/README +++ b/TAO/tests/RTCORBA/Collocation/README @@ -1,5 +1,41 @@ $Id$ Description: -This is a simple test for collocation. +This is a test for collocation when using thread pools and lanes. +There are multiple servants in this test: + +(a) One servant is in the Root POA which is service by the default + thread pool. + +(b) Another servant is in a POA which is serviced by a thread pool + without lanes. Since a thread pool without lanes is really a + thread pool with one lane, all requests will be handled by this + one lane. Therefore, setting the priority model policy was not + necessary for this POA. + +(c) There are two servants is in a POA which is serviced by a thread + pool with lanes, with the CLIENT_PROPAGATED policy. Depending on + the priority of the caller, either one of the lanes processes the + request. + +(d) There are two more servants is in a POA which is serviced by a + thread pool with lanes, with the SERVER_DECLARED policy. One + servant is registered to match one lane and the other servant + matches the other lane. + +All six servants are put into a global array. The main thread starts +off the testing by calling start() on each servant in the array. The +implementation of start() calls method() on each servant in the array. +Since the upcalls will be handled by the lane corresponding to each +servant, all six lanes ends up calling into one another. + +The main thread then changes its priority and calls start() on each +servant in the array. This makes sure to exercise the second lane in +the thread pool with lanes and the CLIENT_PROPAGATED priority. + +The test also converts the objects into strings and back to make sure +that collocation works as expected for imported objects. + +This test has enough asserts to make sure that the correct thread is +making the upcall. diff --git a/TAO/tests/RTCORBA/Makefile b/TAO/tests/RTCORBA/Makefile index dae9e7c5506..9be2c8623c6 100644 --- a/TAO/tests/RTCORBA/Makefile +++ b/TAO/tests/RTCORBA/Makefile @@ -14,6 +14,7 @@ DIRS = \ Banded_Connections \ Client_Propagated \ Client_Protocol \ + Collocation \ Destroy_Thread_Pool \ Explicit_Binding \ Linear_Priority \ diff --git a/TAO/tests/RTCORBA/Makefile.bor b/TAO/tests/RTCORBA/Makefile.bor index f188bbc8d35..2dbcf62e323 100644 --- a/TAO/tests/RTCORBA/Makefile.bor +++ b/TAO/tests/RTCORBA/Makefile.bor @@ -6,6 +6,7 @@ DIRS = \ Banded_Connections \ Client_Propagated \ Client_Protocol \ + Collocation \ Destroy_Thread_Pool \ Explicit_Binding \ Linear_Priority \ |