summaryrefslogtreecommitdiff
path: root/TAO/tao
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2005-03-07 18:51:57 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2005-03-07 18:51:57 +0000
commita7aa3c2bfe35f400380ffd0fa8050a17170b6e27 (patch)
tree4b05a86e6dc9779c28a37cc623700c9867c26356 /TAO/tao
parent541e1eb74b73c3698dac9e6fb993206d36d766e1 (diff)
downloadATCD-a7aa3c2bfe35f400380ffd0fa8050a17170b6e27.tar.gz
ChangeLogTag: Mon Mar 07 18:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao')
-rw-r--r--TAO/tao/Adapter.h3
-rw-r--r--TAO/tao/Adapter_Registry.cpp1
-rw-r--r--TAO/tao/Adapter_Registry.h3
-rw-r--r--TAO/tao/Collocated_Invocation.cpp1
-rw-r--r--TAO/tao/Collocated_Invocation.h3
-rw-r--r--TAO/tao/PortableServer/Object_Adapter.cpp5
-rw-r--r--TAO/tao/PortableServer/Object_Adapter.h5
-rw-r--r--TAO/tao/Request_Dispatcher.cpp1
-rw-r--r--TAO/tao/Request_Dispatcher.h3
-rw-r--r--TAO/tao/Service_Context.h6
-rw-r--r--TAO/tao/TAO_Server_Request.h4
-rw-r--r--TAO/tao/TAO_Server_Request.i18
12 files changed, 32 insertions, 21 deletions
diff --git a/TAO/tao/Adapter.h b/TAO/tao/Adapter.h
index e1d3afd1344..5740575de0c 100644
--- a/TAO/tao/Adapter.h
+++ b/TAO/tao/Adapter.h
@@ -69,8 +69,7 @@ public:
virtual int dispatch (TAO::ObjectKey &key,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ ACE_ENV_ARG_DECL) = 0;
enum {
/// The operation was successfully dispatched, an exception may
diff --git a/TAO/tao/Adapter_Registry.cpp b/TAO/tao/Adapter_Registry.cpp
index f56ce3d18d1..0f154f49f01 100644
--- a/TAO/tao/Adapter_Registry.cpp
+++ b/TAO/tao/Adapter_Registry.cpp
@@ -129,7 +129,6 @@ TAO_Adapter_Registry::dispatch (TAO::ObjectKey &key,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
{
for (size_t i = 0; i != this->adapters_count_; ++i)
{
diff --git a/TAO/tao/Adapter_Registry.h b/TAO/tao/Adapter_Registry.h
index 2969d53d54d..16acc1e3723 100644
--- a/TAO/tao/Adapter_Registry.h
+++ b/TAO/tao/Adapter_Registry.h
@@ -85,8 +85,7 @@ public:
void dispatch (TAO::ObjectKey &key,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ ACE_ENV_ARG_DECL);
/// Create a collocated object using the given profile and stub.
CORBA::Object_ptr create_collocated_object (TAO_Stub *,
diff --git a/TAO/tao/Collocated_Invocation.cpp b/TAO/tao/Collocated_Invocation.cpp
index a899b5d0280..c880db6a341 100644
--- a/TAO/tao/Collocated_Invocation.cpp
+++ b/TAO/tao/Collocated_Invocation.cpp
@@ -31,7 +31,6 @@ namespace TAO
Collocated_Invocation::invoke (Collocation_Proxy_Broker *cpb,
Collocation_Strategy strat
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::Exception))
{
Invocation_Status s = TAO_INVOKE_FAILURE;
diff --git a/TAO/tao/Collocated_Invocation.h b/TAO/tao/Collocated_Invocation.h
index 746fdb17ba1..03068bcb8fb 100644
--- a/TAO/tao/Collocated_Invocation.h
+++ b/TAO/tao/Collocated_Invocation.h
@@ -82,8 +82,7 @@ namespace TAO
*/
Invocation_Status invoke (Collocation_Proxy_Broker *cpb,
Collocation_Strategy strat
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::Exception));
+ ACE_ENV_ARG_DECL);
private:
ACE_UNIMPLEMENTED_FUNC (Collocated_Invocation (void))
diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp
index cfdd59550d0..b2f82ea0bbe 100644
--- a/TAO/tao/PortableServer/Object_Adapter.cpp
+++ b/TAO/tao/PortableServer/Object_Adapter.cpp
@@ -723,7 +723,6 @@ TAO_Object_Adapter::dispatch (TAO::ObjectKey &key,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
{
if (ACE_OS::memcmp (key.get_buffer (),
&TAO_Root_POA::objectkey_prefix[0],
@@ -815,7 +814,9 @@ TAO_Object_Adapter::dispatch (TAO::ObjectKey &key,
// LOCATION_FORWARD).
if (status == PortableInterceptor::SYSTEM_EXCEPTION
|| status == PortableInterceptor::USER_EXCEPTION)
- ACE_RE_THROW;
+ {
+ ACE_RE_THROW;
+ }
}
ACE_ENDTRY;
ACE_CHECK_RETURN (result);
diff --git a/TAO/tao/PortableServer/Object_Adapter.h b/TAO/tao/PortableServer/Object_Adapter.h
index 65490ac21fe..a3605dc2f11 100644
--- a/TAO/tao/PortableServer/Object_Adapter.h
+++ b/TAO/tao/PortableServer/Object_Adapter.h
@@ -163,9 +163,8 @@ public:
virtual int priority (void) const;
virtual int dispatch (TAO::ObjectKey &key,
TAO_ServerRequest &request,
- CORBA::Object_out foward_to
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ CORBA::Object_out forward_to
+ ACE_ENV_ARG_DECL);
virtual const char *name (void) const;
virtual CORBA::Object_ptr root (void);
virtual CORBA::Object_ptr create_collocated_object (TAO_Stub *,
diff --git a/TAO/tao/Request_Dispatcher.cpp b/TAO/tao/Request_Dispatcher.cpp
index 72dd97987eb..4e1d483a6c3 100644
--- a/TAO/tao/Request_Dispatcher.cpp
+++ b/TAO/tao/Request_Dispatcher.cpp
@@ -17,7 +17,6 @@ TAO_Request_Dispatcher::dispatch (TAO_ORB_Core *orb_core,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
{
// Dispatch based on object key
orb_core->adapter_registry ()->dispatch (request.object_key (),
diff --git a/TAO/tao/Request_Dispatcher.h b/TAO/tao/Request_Dispatcher.h
index e63dafa4be0..0c6ebba06f3 100644
--- a/TAO/tao/Request_Dispatcher.h
+++ b/TAO/tao/Request_Dispatcher.h
@@ -56,8 +56,7 @@ public:
virtual void dispatch (TAO_ORB_Core *orb_core,
TAO_ServerRequest &request,
CORBA::Object_out forward_to
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ ACE_ENV_ARG_DECL);
};
#include /**/ "ace/post.h"
diff --git a/TAO/tao/Service_Context.h b/TAO/tao/Service_Context.h
index 2b745468558..348bec7c061 100644
--- a/TAO/tao/Service_Context.h
+++ b/TAO/tao/Service_Context.h
@@ -49,8 +49,6 @@
* fast access to the info that we need from the Service Context
* List.
*/
-
-
class TAO_Export TAO_Service_Context
{
public:
@@ -130,6 +128,10 @@ private:
/// Helper methods to implement get_context()
int get_context_i (IOP::ServiceContext &context) const;
+ // Prevent copying
+ TAO_Service_Context (const TAO_Service_Context &);
+ TAO_Service_Context &operator= (const TAO_Service_Context &);
+
private:
/// The ServiceContextList info.
IOP::ServiceContextList service_context_;
diff --git a/TAO/tao/TAO_Server_Request.h b/TAO/tao/TAO_Server_Request.h
index a971cd874b6..e1c75746b45 100644
--- a/TAO/tao/TAO_Server_Request.h
+++ b/TAO/tao/TAO_Server_Request.h
@@ -214,8 +214,10 @@ public:
// Get the operation details for the current request.
TAO_Operation_Details const * operation_details (void) const;
- /// Get/Set operations for the argument_flag
+ /// Set the argument_flag
void argument_flag (CORBA::Boolean flag);
+
+ /// Get the argument_flag
CORBA::Boolean argument_flag (void);
/// Returns @c true if the current request is collocated.
diff --git a/TAO/tao/TAO_Server_Request.i b/TAO/tao/TAO_Server_Request.i
index 2ebfe65fd52..50e39d86a4d 100644
--- a/TAO/tao/TAO_Server_Request.i
+++ b/TAO/tao/TAO_Server_Request.i
@@ -86,13 +86,27 @@ TAO_ServerRequest::object_key (void)
ACE_INLINE TAO_Service_Context &
TAO_ServerRequest::request_service_context (void)
{
- return this->request_service_context_;
+ if (!operation_details_)
+ {
+ return this->request_service_context_;
+ }
+ else
+ {
+ return const_cast <TAO_Operation_Details*> (this->operation_details_)->request_service_context ();
+ }
}
ACE_INLINE TAO_Service_Context &
TAO_ServerRequest::reply_service_context (void)
{
- return this->reply_service_context_;
+ if (!operation_details_)
+ {
+ return this->reply_service_context_;
+ }
+ else
+ {
+ return const_cast <TAO_Operation_Details*> (this->operation_details_)->reply_service_context ();
+ }
}
ACE_INLINE IOP::ServiceContextList &