summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-10 14:59:57 +0000
committersma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-10 14:59:57 +0000
commit6dc1115df4db4bd1e19f041cf2d3876b074c1a21 (patch)
tree40b19a3ae7b54b3ddda1041dcee386070e4ba9fe
parent2571b8de84ea915dbc709f2c3e6086cbe120816d (diff)
downloadATCD-6dc1115df4db4bd1e19f041cf2d3876b074c1a21.tar.gz
ChangeLogTag: Fri Feb 10 15:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/tao/PI_Server/ServerInterceptorAdapter.cpp93
-rw-r--r--TAO/tao/PortableServer/Object_Adapter.cpp2
-rw-r--r--TAO/tao/ServerRequestInterceptor_Adapter.h4
4 files changed, 74 insertions, 34 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index c975101ea78..c544c95eaa8 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Fri Feb 10 15:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tao/ServerRequestInterceptor_Adapter.h
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ * tao/PortableServer/Object_Adapter.cpp:
+ Correct compile problems for TAO_HAS_EXTENDED_FT_INTERCEPTORS
+ builds. This build configuration has been left behind with
+ recent changes.
+
Fri Feb 10 14:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/tests/EC_Mcast/run_test.pl:
diff --git a/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp b/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
index 5895ef5cbf1..cb30a798acb 100644
--- a/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
+++ b/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
@@ -39,12 +39,19 @@ TAO::ServerRequestInterceptor_Adapter_Impl::tao_ft_interception_point (
{
// This method implements one of the "starting" server side
// interception point.
- bool is_remote_request = !server_request.collocated ();
ACE_TRY
{
oc = 0;
+ bool is_remote_request = !server_request.collocated ();
+ TAO::ServerRequestInfo request_info (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions);
+
for (size_t i = 0 ; i < this->interceptor_list_.size(); ++i)
{
ServerRequestInterceptor_List::RegisteredInterceptor& registered =
@@ -53,7 +60,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::tao_ft_interception_point (
if (registered.details_.should_be_processed (is_remote_request))
{
registered.interceptor_->
- tao_ft_interception_point (ri,
+ tao_ft_interception_point (&request_info,
oc
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -61,7 +68,12 @@ TAO::ServerRequestInterceptor_Adapter_Impl::tao_ft_interception_point (
if (oc != 0)
{
- (void) this->send_other (ri
+ (void) this->send_other (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -75,12 +87,16 @@ TAO::ServerRequestInterceptor_Adapter_Impl::tao_ft_interception_point (
}
ACE_CATCH (PortableInterceptor::ForwardRequest, exc)
{
- ri->forward_reference (exc);
- this->send_other (ri
- ACE_ENV_ARG_PARAMETER);
+ server_request.forward_location (exc.forward.in ());
+ server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ (void) this->send_other (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- this->location_forwarded_ = true;
}
ACE_ENDTRY;
ACE_CHECK;
@@ -98,9 +114,8 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
{
// This method implements one of the "intermediate" server side
// interception point.
- bool is_remote_request = !server_request.collocated ();
- if (this->interceptor_list_.size() != this->server_request.interceptor_count ())
+ if (this->interceptor_list_.size() != server_request.interceptor_count ())
{
// This method (i.e. the receive_request() interception point)
// should only be invoked if all of the interceptors registered
@@ -119,9 +134,17 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
// current (TSC) upon leaving this scope, i.e. just after the
// receive_request_service_contexts() completes. A "guard" is
// used to make the copy also occur if an exception is thrown.
- TAO::PICurrent_Guard const pi_guard (ri->server_request (),
+ TAO::PICurrent_Guard const pi_guard (server_request,
false /* Copy RSC to TSC */);
+ bool is_remote_request = !server_request.collocated ();
+ TAO::ServerRequestInfo request_info (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions);
+
for (size_t i = 0 ; i < server_request.interceptor_count (); ++i)
{
ServerRequestInterceptor_List::RegisteredInterceptor& registered =
@@ -130,7 +153,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
if (registered.details_.should_be_processed (is_remote_request))
{
registered.interceptor_->
- receive_request_service_contexts (ri
+ receive_request_service_contexts (&request_info
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
@@ -138,12 +161,16 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
}
ACE_CATCH (PortableInterceptor::ForwardRequest, exc)
{
- ri->forward_reference (exc);
- this->send_other (ri
- ACE_ENV_ARG_PARAMETER);
+ server_request.forward_location (exc.forward.in ());
+ server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ (void) this->send_other (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- this->location_forwarded_ = true;
}
ACE_ENDTRY;
ACE_CHECK;
@@ -167,15 +194,6 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
// This method implements one of the "starting" server side
// interception point if extended interceptors are not in place.
- bool is_remote_request = !server_request.collocated ();
-
- TAO::ServerRequestInfo request_info (server_request,
- args,
- nargs,
- servant_upcall,
- exceptions,
- nexceptions);
-
ACE_TRY
{
// Copy the request scope current (RSC) to the thread scope
@@ -185,6 +203,15 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
TAO::PICurrent_Guard const pi_guard (server_request,
false /* Copy RSC to TSC */);
+ bool is_remote_request = !server_request.collocated ();
+
+ TAO::ServerRequestInfo request_info (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions);
+
for (size_t i = 0 ; i < this->interceptor_list_.size(); ++i)
{
ServerRequestInterceptor_List::RegisteredInterceptor& registered =
@@ -207,13 +234,13 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
{
server_request.forward_location (exc.forward.in ());
server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
- this->send_other (server_request,
- args,
- nargs,
- servant_upcall,
- exceptions,
- nexceptions
- ACE_ENV_ARG_PARAMETER);
+ (void) this->send_other (server_request,
+ args,
+ nargs,
+ servant_upcall,
+ exceptions,
+ nexceptions
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_ENDTRY;
diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp
index 53f866ef536..261a53e1b94 100644
--- a/TAO/tao/PortableServer/Object_Adapter.cpp
+++ b/TAO/tao/PortableServer/Object_Adapter.cpp
@@ -741,7 +741,7 @@ TAO_Object_Adapter::dispatch (TAO::ObjectKey &key,
{
#if TAO_HAS_EXTENDED_FT_INTERCEPTORS == 1
CORBA::OctetSeq_var ocs;
- sri_adapter.tao_ft_interception_point (request,
+ sri_adapter->tao_ft_interception_point (request,
0, // args
0, // nargs
0, // servant_upcall
diff --git a/TAO/tao/ServerRequestInterceptor_Adapter.h b/TAO/tao/ServerRequestInterceptor_Adapter.h
index 2781dc111c2..37907fa1465 100644
--- a/TAO/tao/ServerRequestInterceptor_Adapter.h
+++ b/TAO/tao/ServerRequestInterceptor_Adapter.h
@@ -27,6 +27,10 @@
#include "ace/CORBA_macros.h"
#include "tao/SystemException.h"
+#if TAO_HAS_EXTENDED_FT_INTERCEPTORS == 1
+# include "tao/OctetSeqC.h"
+#endif /*TAO_HAS_EXTENDED_FT_INTERCEPTORS*/
+
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace PortableInterceptor