summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-09-24 07:45:37 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-09-24 07:45:37 +0000
commit4052c85a166ef2e2d9e373d597215be96eb67618 (patch)
treead977c7c7b9c79040be3e02f040926b16ba6e6bb /TAO
parent14c470e10a116c3e5666a2f2d2b1bd0ba8916070 (diff)
downloadATCD-4052c85a166ef2e2d9e373d597215be96eb67618.tar.gz
Mon Sep 24 07:43:15 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog56
-rw-r--r--TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp2
-rw-r--r--TAO/tao/DynamicInterface/AMH_DSI_Response_Handler.cpp8
-rw-r--r--TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp2
-rw-r--r--TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp10
-rw-r--r--TAO/tao/DynamicInterface/Request.cpp12
-rw-r--r--TAO/tao/DynamicInterface/Request.h3
-rw-r--r--TAO/tao/DynamicInterface/Server_Request.cpp14
-rw-r--r--TAO/tao/GIOP_Message_Base.cpp90
-rw-r--r--TAO/tao/GIOP_Message_Base.h5
-rw-r--r--TAO/tao/GIOP_Message_Generator_Parser.cpp87
-rw-r--r--TAO/tao/GIOP_Message_Generator_Parser.h7
-rw-r--r--TAO/tao/GIOP_Message_Generator_Parser_10.cpp5
-rw-r--r--TAO/tao/GIOP_Message_Generator_Parser_12.cpp30
-rw-r--r--TAO/tao/GIOP_Message_State.cpp50
-rw-r--r--TAO/tao/GIOP_Message_State.h8
-rw-r--r--TAO/tao/GIOP_Message_State.inl10
-rw-r--r--TAO/tao/GIOP_Utils.h60
-rw-r--r--TAO/tao/Invocation_Adapter.cpp6
-rw-r--r--TAO/tao/LocateRequest_Invocation.cpp15
-rw-r--r--TAO/tao/LocateRequest_Invocation.h2
-rw-r--r--TAO/tao/LocateRequest_Invocation_Adapter.cpp2
-rw-r--r--TAO/tao/LocateRequest_Invocation_Adapter.h2
-rw-r--r--TAO/tao/Messaging/AMH_Response_Handler.cpp43
-rw-r--r--TAO/tao/Messaging/AMH_Response_Handler.h15
-rw-r--r--TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp6
-rw-r--r--TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp2
-rw-r--r--TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp13
-rw-r--r--TAO/tao/PI_Server/ServerInterceptorAdapter.cpp8
-rw-r--r--TAO/tao/PI_Server/ServerRequestInfo.cpp14
-rw-r--r--TAO/tao/PI_Server/ServerRequestInfo.inl4
-rw-r--r--TAO/tao/Pluggable_Messaging_Utils.cpp1
-rw-r--r--TAO/tao/Pluggable_Messaging_Utils.h98
-rw-r--r--TAO/tao/Pluggable_Messaging_Utils.inl29
-rw-r--r--TAO/tao/PortableServer/Upcall_Wrapper.cpp4
-rw-r--r--TAO/tao/Queued_Data.h4
-rw-r--r--TAO/tao/Queued_Data.inl4
-rw-r--r--TAO/tao/Reply_Dispatcher.cpp7
-rw-r--r--TAO/tao/Reply_Dispatcher.h15
-rw-r--r--TAO/tao/Reply_Dispatcher.inl8
-rw-r--r--TAO/tao/Synch_Invocation.cpp12
-rw-r--r--TAO/tao/Synch_Reply_Dispatcher.cpp6
-rw-r--r--TAO/tao/TAO_Server_Request.cpp46
-rw-r--r--TAO/tao/TAO_Server_Request.h19
-rw-r--r--TAO/tao/TAO_Server_Request.inl22
-rw-r--r--TAO/tao/Transport.cpp25
46 files changed, 362 insertions, 529 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 0609a273d7e..b787821492b 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,57 @@
+Mon Sep 24 07:43:15 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+ * tao/DynamicInterface/AMH_DSI_Response_Handler.cpp:
+ * tao/DynamicInterface/DII_Invocation_Adapter.cpp:
+ * tao/DynamicInterface/DII_Reply_Dispatcher.cpp:
+ * tao/DynamicInterface/Request.cpp:
+ * tao/DynamicInterface/Request.h:
+ * tao/DynamicInterface/Server_Request.cpp:
+ * tao/GIOP_Message_Base.cpp:
+ * tao/GIOP_Message_Base.h:
+ * tao/GIOP_Message_Generator_Parser.cpp:
+ * tao/GIOP_Message_Generator_Parser.h:
+ * tao/GIOP_Message_Generator_Parser_10.cpp:
+ * tao/GIOP_Message_Generator_Parser_12.cpp:
+ * tao/GIOP_Message_State.cpp:
+ * tao/GIOP_Message_State.h:
+ * tao/GIOP_Message_State.inl:
+ * tao/GIOP_Utils.h:
+ * tao/Invocation_Adapter.cpp:
+ * tao/LocateRequest_Invocation.cpp:
+ * tao/LocateRequest_Invocation.h:
+ * tao/LocateRequest_Invocation_Adapter.cpp:
+ * tao/LocateRequest_Invocation_Adapter.h:
+ * tao/Messaging/AMH_Response_Handler.cpp:
+ * tao/Messaging/AMH_Response_Handler.h:
+ * tao/Messaging/AMI_Arguments_Converter_Impl.cpp:
+ * tao/Messaging/Asynch_Invocation_Adapter.cpp:
+ * tao/Messaging/Asynch_Reply_Dispatcher.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ * tao/PI_Server/ServerRequestInfo.cpp:
+ * tao/PI_Server/ServerRequestInfo.inl:
+ * tao/Pluggable_Messaging_Utils.cpp:
+ * tao/Pluggable_Messaging_Utils.h:
+ * tao/Pluggable_Messaging_Utils.inl:
+ * tao/PortableServer/Upcall_Wrapper.cpp:
+ * tao/Queued_Data.h:
+ * tao/Queued_Data.inl:
+ * tao/Reply_Dispatcher.cpp:
+ * tao/Reply_Dispatcher.h:
+ * tao/Reply_Dispatcher.inl:
+ * tao/Synch_Invocation.cpp:
+ * tao/Synch_Reply_Dispatcher.cpp:
+ * tao/TAO_Server_Request.cpp:
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Server_Request.inl:
+ * tao/Transport.cpp:
+ Use the in IDL defined enums for message type, reply status type and
+ locate status type. By making this a real enum the compiler can check
+ whether we handle all possible values in a switch statement and can
+ also check incorrect checks. As a result the code to convert between
+ the IDL enums and the TAO enums has been removed. Also changes in several
+ classes exception_type to reply_status, that is meant by that flag
+
Fri Sep 22 00:57:01 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
* orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp (init_ORB):
@@ -20,7 +74,7 @@ Fri Sep 22 00:21:47 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
list since such use is not portable.
Removed stray semi-colon.
-
+
* tao/Tagged_Profile.inl (TAO_Tagged_Profile):
Added missing initialization of "object_key_extracted_" member
diff --git a/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp b/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp
index 2fcf4df73b6..2176020836a 100644
--- a/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp
+++ b/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp
@@ -215,7 +215,7 @@ TAO::CSD::FW_Server_Request_Wrapper::clone (TAO_ServerRequest*& request)
// TYPE: CORBA::ULong
// ACTION: Primitive data type assignment.
- clone_obj->exception_type_ = request->exception_type_;
+ clone_obj->reply_status_ = request->reply_status_;
// TYPE: TAO_ORB_Core*
// ACTION: Assuming that a shallow-copy is ok here.
diff --git a/TAO/tao/DynamicInterface/AMH_DSI_Response_Handler.cpp b/TAO/tao/DynamicInterface/AMH_DSI_Response_Handler.cpp
index 0cd4b617d69..093dcff9263 100644
--- a/TAO/tao/DynamicInterface/AMH_DSI_Response_Handler.cpp
+++ b/TAO/tao/DynamicInterface/AMH_DSI_Response_Handler.cpp
@@ -374,10 +374,10 @@ TAO_AMH_DSI_Response_Handler::gateway_exception_reply (
switch (reply_status)
{
case TAO_AMI_REPLY_USER_EXCEPTION:
- this->exception_type_ = TAO_GIOP_USER_EXCEPTION;
+ this->reply_status_ = GIOP::USER_EXCEPTION;
break;
case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
- this->exception_type_ = TAO_GIOP_SYSTEM_EXCEPTION;
+ this->reply_status_ = GIOP::SYSTEM_EXCEPTION;
break;
// TODO: we don't handle location forward at this moment.
@@ -419,10 +419,10 @@ TAO_AMH_DSI_Response_Handler::gateway_exception_reply (
{
//case TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION:
case TAO_AMI_REPLY_USER_EXCEPTION:
- this->exception_type_ = TAO_GIOP_USER_EXCEPTION;
+ this->reply_status_ = GIOP::USER_EXCEPTION;
break;
case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
- this->exception_type_ = TAO_GIOP_SYSTEM_EXCEPTION;
+ this->reply_status_ = GIOP::SYSTEM_EXCEPTION;
break;
// we don't handle location forward at this moment.
diff --git a/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp b/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
index 907726faad9..744ff1a11f8 100644
--- a/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
+++ b/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
@@ -105,7 +105,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const permanent_forward =
- (synch.reply_status() == TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM);
+ (synch.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const permanent_forward = false;
#endif
diff --git a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp
index 550069d57e6..e7a9e8488ff 100644
--- a/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp
+++ b/TAO/tao/DynamicInterface/DII_Reply_Dispatcher.cpp
@@ -36,7 +36,8 @@ TAO_DII_Deferred_Reply_Dispatcher::dispatch_reply (
if (params.input_cdr_ == 0)
return -1;
- this->reply_status_ = params.reply_status_;
+ this->reply_status_ = params.reply_status ();
+ this->locate_reply_status_ = params.locate_reply_status ();
// Transfer the <params.input_cdr_>'s content to this->reply_cdr_
ACE_Data_Block *db = this->reply_cdr_.clone_from (*params.input_cdr_);
@@ -110,7 +111,7 @@ TAO_DII_Deferred_Reply_Dispatcher::connection_closed (void)
// Turn into an output CDR
TAO_InputCDR cdr (out_cdr);
- this->req_->handle_response (cdr, TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION);
+ this->req_->handle_response (cdr, GIOP::SYSTEM_EXCEPTION);
}
catch (const ::CORBA::Exception& ex)
{
@@ -155,7 +156,8 @@ int
TAO_DII_Asynch_Reply_Dispatcher::dispatch_reply (
TAO_Pluggable_Reply_Params &params)
{
- this->reply_status_ = params.reply_status_;
+ this->reply_status_ = params.reply_status ();
+ this->locate_reply_status_ = params.locate_reply_status ();
// Transfer the <params.input_cdr_>'s content to this->reply_cdr_
ACE_Data_Block *db =
@@ -223,7 +225,7 @@ TAO_DII_Asynch_Reply_Dispatcher::connection_closed (void)
CORBA::Request::_tao_reply_stub (
this->reply_cdr_,
this->callback_,
- TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION);
+ GIOP::SYSTEM_EXCEPTION);
}
catch (const CORBA::Exception& ex)
{
diff --git a/TAO/tao/DynamicInterface/Request.cpp b/TAO/tao/DynamicInterface/Request.cpp
index c0cc130e5d0..ef1043ba83a 100644
--- a/TAO/tao/DynamicInterface/Request.cpp
+++ b/TAO/tao/DynamicInterface/Request.cpp
@@ -329,7 +329,7 @@ CORBA::Request::poll_response (void)
void
CORBA::Request::handle_response (TAO_InputCDR &incoming,
- CORBA::ULong reply_status)
+ GIOP::ReplyStatusType reply_status)
{
// If this request was created by a gateway, then result_
// and/or args_ are shared by a CORBA::ServerRequest, whose
@@ -339,7 +339,7 @@ CORBA::Request::handle_response (TAO_InputCDR &incoming,
switch (reply_status)
{
- case TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION:
+ case GIOP::NO_EXCEPTION:
if (this->result_ != 0)
{
// We can be sure that the impl is a TAO::Unknown_IDL_Type.
@@ -359,10 +359,10 @@ CORBA::Request::handle_response (TAO_InputCDR &incoming,
}
break;
- case TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION:
- case TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION:
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD:
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM:
+ case GIOP::USER_EXCEPTION:
+ case GIOP::SYSTEM_EXCEPTION:
+ case GIOP::LOCATION_FORWARD:
+ case GIOP::LOCATION_FORWARD_PERM:
default:
// @@ (JP) Don't know what to do about any of these yet.
ACE_ERROR ((LM_ERROR,
diff --git a/TAO/tao/DynamicInterface/Request.h b/TAO/tao/DynamicInterface/Request.h
index 372ed49d9ab..896d530c0da 100644
--- a/TAO/tao/DynamicInterface/Request.h
+++ b/TAO/tao/DynamicInterface/Request.h
@@ -34,6 +34,7 @@
#include "tao/ORB.h"
#include "tao/Environment.h"
#include "tao/CDR.h"
+#include "tao/GIOPC.h"
#include "tao/AnyTypeCode/NVList.h"
#if defined (TAO_HAS_AMI)
@@ -154,7 +155,7 @@ namespace CORBA
//@}
/// Callback method for deferred synchronous requests.
- void handle_response (TAO_InputCDR &incoming, CORBA::ULong reply_status);
+ void handle_response (TAO_InputCDR &incoming, GIOP::ReplyStatusType reply_status);
#if defined (TAO_HAS_AMI)
/// The 'asychronous' send method. The object is a DSI based callback
diff --git a/TAO/tao/DynamicInterface/Server_Request.cpp b/TAO/tao/DynamicInterface/Server_Request.cpp
index 5b3f0a795c7..f5da3ed799e 100644
--- a/TAO/tao/DynamicInterface/Server_Request.cpp
+++ b/TAO/tao/DynamicInterface/Server_Request.cpp
@@ -132,7 +132,7 @@ CORBA::ServerRequest::set_exception (const CORBA::Any &value)
CORBA::Any (value),
CORBA::NO_MEMORY ());
- this->orb_server_request_.exception_type (TAO_GIOP_USER_EXCEPTION);
+ this->orb_server_request_.reply_status (GIOP::USER_EXCEPTION);
}
// This method will be utilized by the DSI servant to marshal outgoing
@@ -146,12 +146,12 @@ CORBA::ServerRequest::dsi_marshal (void)
return;
}
- if (this->orb_server_request_.exception_type () == TAO_GIOP_NO_EXCEPTION)
+ if (this->orb_server_request_.reply_status () == GIOP::NO_EXCEPTION)
{
// In DSI, we can't rely on the skeleton to do this.
if (this->retval_ == 0 && this->params_ == 0)
{
- this->orb_server_request_.argument_flag (0);
+ this->orb_server_request_.argument_flag (false);
}
this->orb_server_request_.init_reply ();
@@ -173,8 +173,8 @@ CORBA::ServerRequest::dsi_marshal (void)
}
else
{
- // This defaults to 1, but just to be safe...
- this->orb_server_request_.argument_flag (1);
+ // This defaults to true, but just to be safe...
+ this->orb_server_request_.argument_flag (true);
// Write the reply header to the ORB request's outgoing CDR stream.
this->orb_server_request_.init_reply ();
@@ -190,10 +190,10 @@ void
CORBA::ServerRequest::gateway_exception_reply (ACE_CString &raw_exception)
{
// This defaults to 1, but just to be safe...
- this->orb_server_request_.argument_flag (1);
+ this->orb_server_request_.argument_flag (true);
// This reply path handles only user exceptions.
- this->orb_server_request_.exception_type (TAO_GIOP_USER_EXCEPTION);
+ this->orb_server_request_.reply_status (GIOP::USER_EXCEPTION);
this->orb_server_request_.init_reply ();
diff --git a/TAO/tao/GIOP_Message_Base.cpp b/TAO/tao/GIOP_Message_Base.cpp
index c181edba25d..f3721aeeeb6 100644
--- a/TAO/tao/GIOP_Message_Base.cpp
+++ b/TAO/tao/GIOP_Message_Base.cpp
@@ -73,7 +73,7 @@ TAO_GIOP_Message_Base::generate_request_header (
cdr.get_version (giop_version);
// Write the GIOP header first
- if (!this->write_protocol_header (TAO_GIOP_REQUEST, giop_version, cdr))
+ if (!this->write_protocol_header (GIOP::Request, giop_version, cdr))
{
if (TAO_debug_level)
{
@@ -116,7 +116,7 @@ TAO_GIOP_Message_Base::generate_locate_request_header (
this->get_parser (giop_version);
// Write the GIOP header first
- if (!this->write_protocol_header (TAO_GIOP_LOCATEREQUEST, giop_version, cdr))
+ if (!this->write_protocol_header (GIOP::LocateRequest, giop_version, cdr))
{
if (TAO_debug_level)
ACE_ERROR ((LM_ERROR,
@@ -151,7 +151,7 @@ TAO_GIOP_Message_Base::generate_reply_header (
cdr.get_version (giop_version);
// Write the GIOP header first
- if (!this->write_protocol_header (TAO_GIOP_REPLY, giop_version, cdr))
+ if (!this->write_protocol_header (GIOP::Reply, giop_version, cdr))
{
if (TAO_debug_level)
ACE_ERROR ((LM_ERROR,
@@ -208,7 +208,7 @@ TAO_GIOP_Message_Base::generate_fragment_header (TAO_OutputCDR & cdr,
this->get_parser (giop_version);
// Write the GIOP header first
- if (!this->write_protocol_header (TAO_GIOP_FRAGMENT, giop_version, cdr)
+ if (!this->write_protocol_header (GIOP::Fragment, giop_version, cdr)
|| !generator_parser->write_fragment_header (cdr, request_id))
{
if (TAO_debug_level)
@@ -644,7 +644,7 @@ TAO_GIOP_Message_Base::process_request_message (TAO_Transport *transport,
switch (qd->msg_type ())
{
- case TAO_PLUGGABLE_MESSAGE_REQUEST:
+ case GIOP::Request:
// Should be taken care by the state specific invocations. They
// could raise an exception or write things in the output CDR
// stream
@@ -653,7 +653,7 @@ TAO_GIOP_Message_Base::process_request_message (TAO_Transport *transport,
output,
generator_parser);
- case TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST:
+ case GIOP::LocateRequest:
return this->process_locate_request (transport,
input_cdr,
output,
@@ -706,12 +706,11 @@ TAO_GIOP_Message_Base::process_reply_message (
switch (qd->msg_type ())
{
- case TAO_PLUGGABLE_MESSAGE_REPLY:
+ case GIOP::Reply:
// Should be taken care by the state specific parsing
retval = generator_parser->parse_reply (input_cdr, params);
-
break;
- case TAO_PLUGGABLE_MESSAGE_LOCATEREPLY:
+ case GIOP::LocateReply:
retval = generator_parser->parse_locate_reply (input_cdr, params);
break;
default:
@@ -772,7 +771,7 @@ TAO_GIOP_Message_Base::generate_exception_reply (
}
int
-TAO_GIOP_Message_Base::write_protocol_header (TAO_GIOP_Message_Type type,
+TAO_GIOP_Message_Base::write_protocol_header (GIOP::MsgType type,
const TAO_GIOP_Message_Version &version,
TAO_OutputCDR &msg)
{
@@ -795,7 +794,7 @@ TAO_GIOP_Message_Base::write_protocol_header (TAO_GIOP_Message_Type type,
// "flags" octet, i.e. header[6] will be set up later when message
// is formatted by the transport.
- header[7] = CORBA::Octet (type); // Message type
+ header[7] = static_cast <CORBA::Octet> (type); // Message type
static ACE_CDR::ULong const header_size =
sizeof (header) / sizeof (header[0]);
@@ -873,10 +872,10 @@ TAO_GIOP_Message_Base::process_request (
// We should forward to another object...
TAO_Pluggable_Reply_Params_Base reply_params;
reply_params.request_id_ = request_id;
- reply_params.reply_status_ =
+ reply_params.reply_status (
permanent_forward_condition
- ? TAO_GIOP_LOCATION_FORWARD_PERM
- : TAO_GIOP_LOCATION_FORWARD;
+ ? GIOP::LOCATION_FORWARD_PERM
+ : GIOP::LOCATION_FORWARD);
reply_params.svc_ctx_.length (0);
// Send back the reply service context.
@@ -1031,7 +1030,7 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
TAO_GIOP_Locate_Status_Msg status_info;
// Defaulting.
- status_info.status = TAO_GIOP_UNKNOWN_OBJECT;
+ status_info.status = GIOP::UNKNOWN_OBJECT;
CORBA::Boolean response_required = true;
@@ -1081,17 +1080,17 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
if (!CORBA::is_nil (forward_to.in ()))
{
- status_info.status = TAO_GIOP_OBJECT_FORWARD;
+ status_info.status = GIOP::OBJECT_FORWARD;
status_info.forward_location_var = forward_to;
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - TAO_GIOP_Message_Base::process_locate_request, ")
ACE_TEXT ("called: forwarding\n")));
}
- else if (server_request.exception_type () == TAO_GIOP_NO_EXCEPTION)
+ else if (server_request.reply_status () == GIOP::NO_EXCEPTION)
{
// We got no exception, so the object is here.
- status_info.status = TAO_GIOP_OBJECT_HERE;
+ status_info.status = GIOP::OBJECT_HERE;
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - TAO_GIOP_Message_Base::process_locate_request, ")
@@ -1103,7 +1102,7 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
if (!CORBA::is_nil (status_info.forward_location_var.in ()))
{
- status_info.status = TAO_GIOP_OBJECT_FORWARD;
+ status_info.status = GIOP::OBJECT_FORWARD;
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - TAO_GIOP_Message_Base::process_locate_request, ")
ACE_TEXT ("forwarding\n")));
@@ -1111,7 +1110,7 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
else
{
// Normal exception, so the object is not here
- status_info.status = TAO_GIOP_UNKNOWN_OBJECT;
+ status_info.status = GIOP::UNKNOWN_OBJECT;
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - TAO_GIOP_Message_Base::process_locate_request, ")
ACE_TEXT ("not here\n")));
@@ -1122,7 +1121,7 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
catch (const ::CORBA::Exception&)
{
// Normal exception, so the object is not here
- status_info.status = TAO_GIOP_UNKNOWN_OBJECT;
+ status_info.status = GIOP::UNKNOWN_OBJECT;
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - TAO_GIOP_Message_Base::process_locate_request, ")
@@ -1131,7 +1130,7 @@ TAO_GIOP_Message_Base::process_locate_request (TAO_Transport *transport,
catch (...)
{
// Normal exception, so the object is not here
- status_info.status = TAO_GIOP_UNKNOWN_OBJECT;
+ status_info.status = GIOP::UNKNOWN_OBJECT;
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) TAO_GIOP_Message_Base::process_locate_request - ")
@@ -1158,7 +1157,7 @@ TAO_GIOP_Message_Base::make_send_locate_reply (TAO_Transport *transport,
// Note here we are making the Locate reply header which is *QUITE*
// different from the reply header made by the make_reply () call..
// Make the GIOP message header
- this->write_protocol_header (TAO_GIOP_LOCATEREPLY, giop_version, output);
+ this->write_protocol_header (GIOP::LocateReply, giop_version, output);
// This writes the header & body
parser->write_locate_reply_mesg (output,
@@ -1205,7 +1204,7 @@ TAO_GIOP_Message_Base::send_error (TAO_Transport *transport)
(CORBA::Octet) 1, // Use the lowest GIOP version
(CORBA::Octet) 0,
TAO_ENCAP_BYTE_ORDER,
- TAO_GIOP_MESSAGERROR,
+ GIOP::MessageError,
0, 0, 0, 0
};
@@ -1290,8 +1289,7 @@ TAO_GIOP_Message_Base::get_parser (
void
TAO_GIOP_Message_Base::
send_close_connection (const TAO_GIOP_Message_Version &version,
- TAO_Transport *transport,
- void *)
+ TAO_Transport *transport)
{
// static CORBA::Octet
// I hate this in every method. Till the time I figure out a way
@@ -1307,7 +1305,7 @@ TAO_GIOP_Message_Base::
version.major,
version.minor,
TAO_ENCAP_BYTE_ORDER,
- TAO_GIOP_CLOSECONNECTION,
+ GIOP::CloseConnection,
0, 0, 0, 0
};
@@ -1387,11 +1385,13 @@ TAO_GIOP_Message_Base::send_reply_exception (
// this).
reply_params.service_context_notowned (svc_info);
- reply_params.reply_status_ = TAO_GIOP_USER_EXCEPTION;
-
if (CORBA::SystemException::_downcast (x) != 0)
{
- reply_params.reply_status_ = TAO_GIOP_SYSTEM_EXCEPTION;
+ reply_params.reply_status (GIOP::SYSTEM_EXCEPTION);
+ }
+ else
+ {
+ reply_params.reply_status (GIOP::USER_EXCEPTION);
}
if (this->generate_exception_reply (output, reply_params, *x) == -1)
@@ -1441,9 +1441,9 @@ TAO_GIOP_Message_Base::dump_msg (const char *label,
CORBA::ULong *id = &tmp;
char *tmp_id = 0;
- if (ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == TAO_GIOP_REQUEST ||
- ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == TAO_GIOP_REPLY ||
- ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == TAO_GIOP_FRAGMENT)
+ if (ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == GIOP::Request ||
+ ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == GIOP::Reply ||
+ ptr[TAO_GIOP_MESSAGE_TYPE_OFFSET] == GIOP::Fragment)
{
if (major == 1 && minor < 2)
{
@@ -1618,8 +1618,8 @@ TAO_GIOP_Message_Base::parse_request_id (const TAO_Queued_Data *qd,
{
switch (qd->msg_type ())
{
- case TAO_PLUGGABLE_MESSAGE_REQUEST:
- case TAO_PLUGGABLE_MESSAGE_REPLY:
+ case GIOP::Request:
+ case GIOP::Reply:
{
IOP::ServiceContextList service_context;
@@ -1630,9 +1630,9 @@ TAO_GIOP_Message_Base::parse_request_id (const TAO_Queued_Data *qd,
}
}
break;
- case TAO_PLUGGABLE_MESSAGE_CANCELREQUEST:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREPLY:
+ case GIOP::CancelRequest:
+ case GIOP::LocateRequest:
+ case GIOP::LocateReply:
{
if ((input_cdr >> request_id))
{
@@ -1648,12 +1648,12 @@ TAO_GIOP_Message_Base::parse_request_id (const TAO_Queued_Data *qd,
{
switch (qd->msg_type ())
{
- case TAO_PLUGGABLE_MESSAGE_REQUEST:
- case TAO_PLUGGABLE_MESSAGE_REPLY:
- case TAO_PLUGGABLE_MESSAGE_FRAGMENT:
- case TAO_PLUGGABLE_MESSAGE_CANCELREQUEST:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREPLY:
+ case GIOP::Request:
+ case GIOP::Reply:
+ case GIOP::Fragment:
+ case GIOP::CancelRequest:
+ case GIOP::LocateRequest:
+ case GIOP::LocateReply:
{
// Dealing with GIOP-1.2, the request-id is located directly
// behind the GIOP-Header. This is true for all message
@@ -1858,7 +1858,7 @@ TAO_GIOP_Message_Base::discard_fragmented_message (const TAO_Queued_Data *cancel
if (head->giop_version ().major_version () == 1 &&
head->giop_version ().minor_version () <= 1 &&
- head->msg_type () != TAO_PLUGGABLE_MESSAGE_FRAGMENT && // GIOP11 fragment does not provide request id
+ head->msg_type () != GIOP::Fragment && // GIOP11 fragment does not provide request id
this->parse_request_id (head, head_request_id) >= 0 &&
cancel_request_id == head_request_id)
{
diff --git a/TAO/tao/GIOP_Message_Base.h b/TAO/tao/GIOP_Message_Base.h
index 3322de8656e..c486068cace 100644
--- a/TAO/tao/GIOP_Message_Base.h
+++ b/TAO/tao/GIOP_Message_Base.h
@@ -179,7 +179,7 @@ protected:
/// Writes the GIOP header in to @a msg
/// @note If the GIOP header happens to change in the future, we can
/// push this method in to the generator_parser classes.
- int write_protocol_header (TAO_GIOP_Message_Type t,
+ int write_protocol_header (GIOP::MsgType t,
const TAO_GIOP_Message_Version& version,
TAO_OutputCDR &msg);
@@ -198,8 +198,7 @@ protected:
/// Close a connection, first sending GIOP::CloseConnection.
void send_close_connection (const TAO_GIOP_Message_Version &version,
- TAO_Transport *transport,
- void *ctx);
+ TAO_Transport *transport);
/// We must send a LocateReply through @a transport, this request
/// resulted in some kind of exception.
diff --git a/TAO/tao/GIOP_Message_Generator_Parser.cpp b/TAO/tao/GIOP_Message_Generator_Parser.cpp
index e50ddf43117..b33ed9ba70c 100644
--- a/TAO/tao/GIOP_Message_Generator_Parser.cpp
+++ b/TAO/tao/GIOP_Message_Generator_Parser.cpp
@@ -24,7 +24,6 @@ TAO_GIOP_Message_Generator_Parser::parse_reply (
TAO_InputCDR &stream,
TAO_Pluggable_Reply_Params &params)
{
-
// Read the request id
if (!stream.read_ulong (params.request_id_))
{
@@ -52,53 +51,7 @@ TAO_GIOP_Message_Generator_Parser::parse_reply (
return -1;
}
-
- // Pass the right Pluggable interface code to the transport layer
- switch (rep_stat)
- {
- // Request completed successfully
- case TAO_GIOP_NO_EXCEPTION:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION;
- break;
-
- // Request terminated with user exception
- case TAO_GIOP_USER_EXCEPTION:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION;
- break;
- // Request terminated with system exception
- case TAO_GIOP_SYSTEM_EXCEPTION:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION;
- break;
- // Reply is a location forward type
- case TAO_GIOP_LOCATION_FORWARD:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD;
- break;
- // Reply is a location forward perm type
- // LOCATION_FORWARD_PERM is only allowed in context of
- // FaultTolerant featured requests and requires PortableGroup
- // features in forwarded object and service context
- case TAO_GIOP_LOCATION_FORWARD_PERM:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM;
- break;
- // Reply is a location forward type
- case TAO_GIOP_NEEDS_ADDRESSING_MODE:
- params.reply_status_ =
- TAO_PLUGGABLE_MESSAGE_NEEDS_ADDRESSING_MODE;
- break;
- default:
- if (TAO_debug_level > 0)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) : TAO_GIOP_Message_Generator_Parser::parse_reply, ")
- ACE_TEXT ("Unknown reply status \n")));
- }
- return -1;
- }
+ params.reply_status (static_cast <GIOP::ReplyStatusType> (rep_stat));
return 0;
}
@@ -120,22 +73,24 @@ TAO_GIOP_Message_Generator_Parser::parse_locate_reply (
return -1;
}
- // and the reply status type. status can be NO_EXCEPTION,
- // SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD
- // LOCATION_FORWARD_PERM
+ // and the locate reply status type. status can be UNKNOWN_OBJECT,
+ // OBJECT_HERE, OBJECT_FORWARD, OBJECT_FORWARD_PERM
+ // LOC_SYSTEM_EXCEPTION, LOC_NEEDS_ADDRESSING_MODE
// Please note here that we are NOT converting to the Pluggable
// messaging layer exception as this is GIOP specific. Not many
// messaging protocols have the locate_* messages.
- if (!cdr.read_ulong (params.reply_status_))
+ CORBA::ULong locate_reply_status;
+ if (!cdr.read_ulong (locate_reply_status))
{
if (TAO_debug_level > 0)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("TAO N|(%P|%t|l) parse_locate_reply, ")
- ACE_TEXT ("extracting reply status\n")));
+ ACE_TEXT ("extracting locate reply status\n")));
return -1;
}
+ params.locate_reply_status (static_cast <GIOP::LocateStatusType> (locate_reply_status));
return 0;
@@ -147,30 +102,4 @@ TAO_GIOP_Message_Generator_Parser::is_ready_for_bidirectional (void) const
return false;
}
-void
-TAO_GIOP_Message_Generator_Parser::marshal_reply_status (
- TAO_OutputCDR &output,
- TAO_Pluggable_Reply_Params_Base &reply)
-{
- switch (reply.reply_status_)
- {
- case TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION:
- output.write_ulong (TAO_GIOP_NO_EXCEPTION);
- break;
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD:
- output.write_ulong (TAO_GIOP_LOCATION_FORWARD);
- break;
- case TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION:
- output.write_ulong (TAO_GIOP_SYSTEM_EXCEPTION);
- break;
- case TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION:
- output.write_ulong (TAO_GIOP_USER_EXCEPTION);
- break;
- default:
- // Some other specific exception
- output.write_ulong (reply.reply_status_);
- break;
- }
-}
-
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/GIOP_Message_Generator_Parser.h b/TAO/tao/GIOP_Message_Generator_Parser.h
index 2bb432ebf57..a12eaa4cc83 100644
--- a/TAO/tao/GIOP_Message_Generator_Parser.h
+++ b/TAO/tao/GIOP_Message_Generator_Parser.h
@@ -105,13 +105,6 @@ public:
/// The header length of a fragment
virtual size_t fragment_header_length (void) const = 0;
-
-protected:
-
- /// Marshall the reply status
- void marshal_reply_status (TAO_OutputCDR &output,
- TAO_Pluggable_Reply_Params_Base &reply);
-
};
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp
index 4ab08d0f47d..3d002815733 100644
--- a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp
+++ b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp
@@ -263,8 +263,7 @@ TAO_GIOP_Message_Generator_Parser_10::write_reply_header (
output.write_ulong (reply.request_id_);
// Write the reply status
- this->marshal_reply_status (output,
- reply);
+ output.write_ulong (reply.reply_status ());
return true;
}
@@ -280,7 +279,7 @@ TAO_GIOP_Message_Generator_Parser_10::write_locate_reply_mesg (
output.write_ulong (request_id);
output.write_ulong (status_info.status);
- if (status_info.status == TAO_GIOP_OBJECT_FORWARD)
+ if (status_info.status == GIOP::OBJECT_FORWARD)
{
CORBA::Object_ptr object_ptr =
status_info.forward_location_var.in ();
diff --git a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp
index 29edcf603aa..871a8a24d50 100644
--- a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp
+++ b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp
@@ -120,23 +120,8 @@ TAO_GIOP_Message_Generator_Parser_12::write_reply_header (
// Write the request ID
output.write_ulong (reply.request_id_);
- // Write the reply status
- if (reply.reply_status_ ==
- TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM)
- {
- // Not sure when we will use this.
- output.write_ulong (TAO_GIOP_LOCATION_FORWARD_PERM);
- }
- else if (reply.reply_status_ ==
- TAO_PLUGGABLE_MESSAGE_NEEDS_ADDRESSING_MODE)
- {
- // Not sure when we will use this.
- output.write_ulong (TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE);
- }
- else
- {
- this->marshal_reply_status (output, reply);
- }
+ // Write the reply status
+ output.write_ulong (reply.reply_status ());
if (!(output << reply.service_context_notowned ()))
return false;
@@ -181,10 +166,10 @@ TAO_GIOP_Message_Generator_Parser_12::write_locate_reply_mesg (
*/
switch (status_info.status)
{
- case TAO_GIOP_OBJECT_FORWARD:
+ case GIOP::OBJECT_FORWARD:
// More likely than not we will not have this in TAO
- case TAO_GIOP_OBJECT_FORWARD_PERM:
+ case GIOP::OBJECT_FORWARD_PERM:
{
CORBA::Object_ptr object_ptr =
status_info.forward_location_var.in ();
@@ -202,8 +187,8 @@ TAO_GIOP_Message_Generator_Parser_12::write_locate_reply_mesg (
}
}
break;
- case TAO_GIOP_LOC_SYSTEM_EXCEPTION:
- case TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE:
+ case GIOP::LOC_SYSTEM_EXCEPTION:
+ case GIOP::LOC_NEEDS_ADDRESSING_MODE:
// Do we do these in TAO??
// What to do here???? I dont really know. I have to do a survey
// of the specifications that uses this.
@@ -365,8 +350,7 @@ TAO_GIOP_Message_Generator_Parser_12::parse_locate_reply (
TAO_InputCDR &cdr,
TAO_Pluggable_Reply_Params &params)
{
- if (TAO_GIOP_Message_Generator_Parser::parse_locate_reply (cdr,
- params) == -1)
+ if (TAO_GIOP_Message_Generator_Parser::parse_locate_reply (cdr, params) == -1)
return -1;
diff --git a/TAO/tao/GIOP_Message_State.cpp b/TAO/tao/GIOP_Message_State.cpp
index c401f774fec..63cffc1995d 100644
--- a/TAO/tao/GIOP_Message_State.cpp
+++ b/TAO/tao/GIOP_Message_State.cpp
@@ -57,13 +57,13 @@ TAO_GIOP_Message_State::parse_message_header_i (ACE_Message_Block &incoming)
{
switch (this->message_type_)
{
- case TAO_PLUGGABLE_MESSAGE_MESSAGERROR:
- case TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION:
+ case GIOP::MessageError:
+ case GIOP::CloseConnection:
if (TAO_debug_level > 0)
{
char const * const which =
- (this->message_type_ == TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION) ? "CloseConnection" :
- (this->message_type_ == TAO_PLUGGABLE_MESSAGE_MESSAGERROR) ? "MessageError" : "unknown";
+ (this->message_type_ == GIOP::CloseConnection) ? "CloseConnection" :
+ (this->message_type_ == GIOP::MessageError) ? "MessageError" : "unknown";
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - GIOP %s received \n"), which));
}
@@ -81,48 +81,6 @@ TAO_GIOP_Message_State::parse_message_header_i (ACE_Message_Block &incoming)
return 0; // success
}
-TAO_Pluggable_Message_Type
-TAO_GIOP_Message_State::message_type (CORBA::Octet type) const
-{
- // Convert to the right type of Pluggable Messaging message type.
-
- switch (type)
- {
- case TAO_GIOP_REQUEST:
- return TAO_PLUGGABLE_MESSAGE_REQUEST;
- case TAO_GIOP_LOCATEREQUEST:
- return TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST;
-
- case TAO_GIOP_LOCATEREPLY:
- return TAO_PLUGGABLE_MESSAGE_LOCATEREPLY;
-
- case TAO_GIOP_REPLY:
- return TAO_PLUGGABLE_MESSAGE_REPLY;
-
- case TAO_GIOP_CLOSECONNECTION:
- return TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION;
-
- case TAO_GIOP_FRAGMENT:
- return TAO_PLUGGABLE_MESSAGE_FRAGMENT;
-
- case TAO_GIOP_MESSAGERROR:
- return TAO_PLUGGABLE_MESSAGE_MESSAGERROR;
-
- case TAO_GIOP_CANCELREQUEST:
- return TAO_PLUGGABLE_MESSAGE_CANCELREQUEST;
-
- default:
- if (TAO_debug_level > 0)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) %N:%l message_type : ")
- ACE_TEXT ("wrong message.\n")));
- }
- }
-
- return TAO_PLUGGABLE_MESSAGE_MESSAGERROR;
-}
-
int
TAO_GIOP_Message_State::parse_magic_bytes (char *buf)
{
diff --git a/TAO/tao/GIOP_Message_State.h b/TAO/tao/GIOP_Message_State.h
index c4313aac833..125f914ca6b 100644
--- a/TAO/tao/GIOP_Message_State.h
+++ b/TAO/tao/GIOP_Message_State.h
@@ -25,7 +25,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/Pluggable_Messaging_Utils.h"
+#include "tao/GIOPC.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -62,7 +62,7 @@ public:
CORBA::Octet byte_order (void) const;
/// Return the message type
- TAO_Pluggable_Message_Type message_type (void) const;
+ GIOP::MsgType message_type (void) const;
/// Return the more fragments
CORBA::Octet more_fragments (void) const;
@@ -77,7 +77,7 @@ private:
int parse_message_header_i (ACE_Message_Block &incoming);
/// Get the message type.
- TAO_Pluggable_Message_Type message_type (CORBA::Octet type) const;
+ GIOP::MsgType message_type (CORBA::Octet type) const;
/// Checks for the magic word 'GIOP' in the start of the incoing
/// stream
@@ -108,7 +108,7 @@ private:
CORBA::Octet byte_order_;
/// MsgType above
- TAO_Pluggable_Message_Type message_type_;
+ GIOP::MsgType message_type_;
/// In byte_order!
CORBA::ULong payload_size_;
diff --git a/TAO/tao/GIOP_Message_State.inl b/TAO/tao/GIOP_Message_State.inl
index e13f70dc94d..4556039c389 100644
--- a/TAO/tao/GIOP_Message_State.inl
+++ b/TAO/tao/GIOP_Message_State.inl
@@ -9,7 +9,7 @@ TAO_GIOP_Message_State::TAO_GIOP_Message_State (void)
: giop_version_ (TAO_DEF_GIOP_MAJOR,
TAO_DEF_GIOP_MINOR),
byte_order_ (0),
- message_type_ (TAO_PLUGGABLE_MESSAGE_REQUEST),
+ message_type_ (GIOP::Request),
payload_size_ (0),
more_fragments_ (0)
{
@@ -33,7 +33,7 @@ TAO_GIOP_Message_State::byte_order (void) const
return this->byte_order_;
}
-ACE_INLINE TAO_Pluggable_Message_Type
+ACE_INLINE GIOP::MsgType
TAO_GIOP_Message_State::message_type (void) const
{
return this->message_type_;
@@ -57,4 +57,10 @@ TAO_GIOP_Message_State::giop_version (void) const
return this->giop_version_;
}
+ACE_INLINE GIOP::MsgType
+TAO_GIOP_Message_State::message_type (CORBA::Octet type) const
+{
+ return static_cast <GIOP::MsgType> (type);
+}
+
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/GIOP_Utils.h b/TAO/tao/GIOP_Utils.h
index 50bb953f1c2..00e8f9c41de 100644
--- a/TAO/tao/GIOP_Utils.h
+++ b/TAO/tao/GIOP_Utils.h
@@ -20,6 +20,7 @@
#include /**/ "ace/pre.h"
#include "tao/Object.h"
+#include "tao/GIOPC.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -28,42 +29,13 @@
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
/**
- * All GIOP messages include a header and message type. Not
- * really a message type, but needed to bring that information
- * back somehow.
- */
-typedef enum GIOP_Messages
-{
- // = GIOP message types.
- TAO_GIOP_REQUEST = 0, // sent by client.
- TAO_GIOP_REPLY = 1, // by server.
- TAO_GIOP_CANCELREQUEST = 2, // by client.
- TAO_GIOP_LOCATEREQUEST = 3, // by client.
- TAO_GIOP_LOCATEREPLY = 4,
- TAO_GIOP_CLOSECONNECTION = 5, // by both.
- TAO_GIOP_MESSAGERROR = 6, // by both.
- TAO_GIOP_FRAGMENT = 7 // by both.
-} TAO_GIOP_Message_Type;
-
-
-typedef enum GIOP_LocateStatusType
-{
- TAO_GIOP_UNKNOWN_OBJECT,
- TAO_GIOP_OBJECT_HERE,
- TAO_GIOP_OBJECT_FORWARD,
- TAO_GIOP_OBJECT_FORWARD_PERM, //GIOP1.2
- TAO_GIOP_LOC_SYSTEM_EXCEPTION, // GIOP1.2
- TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE //GIOP 1.2
-}TAO_GIOP_Locate_Status_Type;
-
-/**
* @class TAO_GIOP_Locate_Status_Msg
*
- * @brief Hold the relevant information for every type of Locate mesg.
+ * @brief Hold the relevant information for every type of Locate msg.
*
* This class is there to hold the relevant info for different
* types of locate status messages. As on date we dont know much
- * about other mesg types other than OBJECT_FORWARD. This clss can
+ * about other mesg types other than OBJECT_FORWARD. This class can
* be clearly defined as time progresses.
*/
class TAO_Export TAO_GIOP_Locate_Status_Msg
@@ -74,33 +46,9 @@ public:
CORBA::Object_var forward_location_var;
/// Stype of Locate status message
- ///@@ Other mesg types.
- TAO_GIOP_Locate_Status_Type status;
+ GIOP::LocateStatusType status;
};
-
-typedef enum GIOP_ReplyStatusType
-{
- /// Request completed successfully
- TAO_GIOP_NO_EXCEPTION,
-
- /// Request terminated with user exception
- TAO_GIOP_USER_EXCEPTION,
-
- /// Request terminated with system exception
- TAO_GIOP_SYSTEM_EXCEPTION,
-
- /// Reply is a location forward type
- TAO_GIOP_LOCATION_FORWARD,
-
- /// GIOP 1.2, Reply is a location forward perm type..
- TAO_GIOP_LOCATION_FORWARD_PERM,
-
- /// GIOP1.2,
- TAO_GIOP_NEEDS_ADDRESSING_MODE
-
-} TAO_GIOP_Reply_Status_Type;
-
TAO_END_VERSIONED_NAMESPACE_DECL
#include /**/ "ace/post.h"
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index daf7505c027..9e5c3bf4da4 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -173,7 +173,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const is_permanent_forward =
- (coll_inv.reply_status() == TAO_GIOP_LOCATION_FORWARD_PERM);
+ (coll_inv.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const is_permanent_forward = false;
#endif
@@ -304,7 +304,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const is_permanent_forward =
- (synch.reply_status() == TAO_GIOP_LOCATION_FORWARD_PERM);
+ (synch.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const is_permanent_forward = false;
#endif
@@ -333,7 +333,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const is_permanent_forward =
- (synch.reply_status() == TAO_GIOP_LOCATION_FORWARD_PERM);
+ (synch.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const is_permanent_forward = false;
#endif
diff --git a/TAO/tao/LocateRequest_Invocation.cpp b/TAO/tao/LocateRequest_Invocation.cpp
index 6611730e9a8..f489e8e52f1 100644
--- a/TAO/tao/LocateRequest_Invocation.cpp
+++ b/TAO/tao/LocateRequest_Invocation.cpp
@@ -101,17 +101,16 @@ namespace TAO
// Set the translators
this->resolver_.transport ()->assign_translators (&cdr, 0);
- switch (rd.reply_status ())
+ switch (rd.locate_reply_status ())
{
- case TAO_GIOP_OBJECT_HERE:
+ case GIOP::OBJECT_HERE:
break;
- case TAO_GIOP_UNKNOWN_OBJECT:
+ case GIOP::UNKNOWN_OBJECT:
throw ::CORBA::OBJECT_NOT_EXIST (TAO::VMCID, CORBA::COMPLETED_YES);
- case TAO_GIOP_OBJECT_FORWARD:
- case TAO_GIOP_OBJECT_FORWARD_PERM:
+ case GIOP::OBJECT_FORWARD:
+ case GIOP::OBJECT_FORWARD_PERM:
return this->location_forward (cdr);
-
- case TAO_GIOP_LOC_SYSTEM_EXCEPTION:
+ case GIOP::LOC_SYSTEM_EXCEPTION:
{
// Pull the exception from the stream.
CORBA::String_var buf;
@@ -127,7 +126,7 @@ namespace TAO
// but if it does, we turn it into a CORBA::UNKNOWN exception.
throw ::CORBA::UNKNOWN (TAO::VMCID, CORBA::COMPLETED_YES);
}
- case TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE:
+ case GIOP::LOC_NEEDS_ADDRESSING_MODE:
{
// We have received an exception with a request to change the
// addressing mode. First let us read the mode that the
diff --git a/TAO/tao/LocateRequest_Invocation.h b/TAO/tao/LocateRequest_Invocation.h
index 1a8d5713133..a8162e669b6 100644
--- a/TAO/tao/LocateRequest_Invocation.h
+++ b/TAO/tao/LocateRequest_Invocation.h
@@ -37,7 +37,7 @@ namespace TAO
* @brief Object created by TAO::LocateRequest_Invocation_Adapter to
* create and send LocateRequest invocation.
*/
- class TAO_Export LocateRequest_Invocation
+ class LocateRequest_Invocation
: public Synch_Twoway_Invocation
{
public:
diff --git a/TAO/tao/LocateRequest_Invocation_Adapter.cpp b/TAO/tao/LocateRequest_Invocation_Adapter.cpp
index 5057b2542f7..df9fbaf8aa3 100644
--- a/TAO/tao/LocateRequest_Invocation_Adapter.cpp
+++ b/TAO/tao/LocateRequest_Invocation_Adapter.cpp
@@ -80,7 +80,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const is_permanent_forward =
- (synch.reply_status() == TAO_GIOP_LOCATION_FORWARD_PERM);
+ (synch.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const is_permanent_forward = false;
#endif
diff --git a/TAO/tao/LocateRequest_Invocation_Adapter.h b/TAO/tao/LocateRequest_Invocation_Adapter.h
index d4fde4a0901..4300d8aa19e 100644
--- a/TAO/tao/LocateRequest_Invocation_Adapter.h
+++ b/TAO/tao/LocateRequest_Invocation_Adapter.h
@@ -55,7 +55,7 @@ namespace TAO
* collocated. Looks like there are no ways to utilize the
* opportunity that may have been presented.
*/
- class TAO_Export LocateRequest_Invocation_Adapter
+ class LocateRequest_Invocation_Adapter
{
public:
LocateRequest_Invocation_Adapter (CORBA::Object_ptr target);
diff --git a/TAO/tao/Messaging/AMH_Response_Handler.cpp b/TAO/tao/Messaging/AMH_Response_Handler.cpp
index 15a56085556..3ce088b7df1 100644
--- a/TAO/tao/Messaging/AMH_Response_Handler.cpp
+++ b/TAO/tao/Messaging/AMH_Response_Handler.cpp
@@ -18,13 +18,13 @@
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
TAO_AMH_Response_Handler::TAO_AMH_Response_Handler ()
- : exception_type_ (TAO_GIOP_NO_EXCEPTION)
+ : reply_status_ (GIOP::NO_EXCEPTION)
, mesg_base_ (0)
, request_id_ (0)
, transport_ (0)
, orb_core_ (0)
, argument_flag_ (1)
- , reply_status_ (TAO_RS_UNINITIALIZED)
+ , rh_reply_status_ (TAO_RS_UNINITIALIZED)
, allocator_ (0)
{
}
@@ -46,7 +46,7 @@ TAO_AMH_Response_Handler::~TAO_AMH_Response_Handler (void)
// If the ResponseHandler is being destroyed before a reply has
// been sent to the client, we send a system exception
// CORBA::NO_RESPONSE, with minor code to indicate the problem.
- if (this->reply_status_ == TAO_RS_SENT)
+ if (this->rh_reply_status_ == TAO_RS_SENT)
{
return;
}
@@ -86,7 +86,7 @@ TAO_AMH_Response_Handler::_tao_rh_init_reply (void)
{
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- if (this->reply_status_ != TAO_RS_UNINITIALIZED)
+ if (this->rh_reply_status_ != TAO_RS_UNINITIALIZED)
{
// Looks like someone is trying to call an AMH method
// more than once
@@ -108,15 +108,7 @@ TAO_AMH_Response_Handler::_tao_rh_init_reply (void)
reply_params.request_id_ = this->request_id_;
reply_params.service_context_notowned (&(this->reply_service_context_.service_info ()));
reply_params.argument_flag_ = this->argument_flag_;
-
- if (this->exception_type_ == TAO_GIOP_NO_EXCEPTION)
- {
- reply_params.reply_status_ = TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION;
- }
- else
- {
- reply_params.reply_status_ = this->exception_type_;
- }
+ reply_params.reply_status (this->reply_status_);
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
@@ -124,7 +116,7 @@ TAO_AMH_Response_Handler::_tao_rh_init_reply (void)
this->mesg_base_->generate_reply_header (this->_tao_out, reply_params);
// We are done initialising the reply
- this->reply_status_ = TAO_RS_INITIALIZED;
+ this->rh_reply_status_ = TAO_RS_INITIALIZED;
}
}
@@ -137,7 +129,7 @@ TAO_AMH_Response_Handler::_tao_rh_send_reply (void)
// If the reply has not been initialised, raise an exception to the
// server-app saying it is not doing something right.
- if (this->reply_status_ != TAO_RS_INITIALIZED)
+ if (this->rh_reply_status_ != TAO_RS_INITIALIZED)
{
throw ::CORBA::BAD_INV_ORDER (
CORBA::SystemException::_tao_minor_code (
@@ -145,7 +137,7 @@ TAO_AMH_Response_Handler::_tao_rh_send_reply (void)
ENOTSUP),
CORBA::COMPLETED_YES);
}
- this->reply_status_ = TAO_RS_SENDING;
+ this->rh_reply_status_ = TAO_RS_SENDING;
}
// Send the message.
@@ -169,7 +161,7 @@ TAO_AMH_Response_Handler::_tao_rh_send_reply (void)
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- this->reply_status_ = TAO_RS_SENT;
+ this->rh_reply_status_ = TAO_RS_SENT;
}
}
@@ -178,7 +170,7 @@ TAO_AMH_Response_Handler::_tao_rh_send_exception (const CORBA::Exception &ex)
{
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- if (this->reply_status_ != TAO_RS_UNINITIALIZED)
+ if (this->rh_reply_status_ != TAO_RS_UNINITIALIZED)
{
throw ::CORBA::BAD_INV_ORDER (
CORBA::SystemException::_tao_minor_code (
@@ -186,20 +178,25 @@ TAO_AMH_Response_Handler::_tao_rh_send_exception (const CORBA::Exception &ex)
ENOTSUP),
CORBA::COMPLETED_YES);
}
- this->reply_status_ = TAO_RS_SENDING;
+ this->rh_reply_status_ = TAO_RS_SENDING;
}
TAO_Pluggable_Reply_Params_Base reply_params;
reply_params.request_id_ = this->request_id_;
reply_params.svc_ctx_.length (0);
reply_params.service_context_notowned (&this->reply_service_context_.service_info ());
- reply_params.argument_flag_ = 1;
- reply_params.reply_status_ = TAO_GIOP_USER_EXCEPTION;
+ reply_params.argument_flag_ = true;
// @@ It appears as if there should be a more efficient way to do
// this: the caller already knows this because it is part of the
// ExceptionHolder information.
if (CORBA::SystemException::_downcast (&ex))
- reply_params.reply_status_ = TAO_GIOP_SYSTEM_EXCEPTION;
+ {
+ reply_params.reply_status (GIOP::SYSTEM_EXCEPTION);
+ }
+ else
+ {
+ reply_params.reply_status (GIOP::USER_EXCEPTION);
+ }
if (this->mesg_base_->generate_exception_reply (this->_tao_out,
reply_params,
@@ -220,7 +217,7 @@ TAO_AMH_Response_Handler::_tao_rh_send_exception (const CORBA::Exception &ex)
{
ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- this->reply_status_ = TAO_RS_SENT;
+ this->rh_reply_status_ = TAO_RS_SENT;
}
}
diff --git a/TAO/tao/Messaging/AMH_Response_Handler.h b/TAO/tao/Messaging/AMH_Response_Handler.h
index 2a7c7732230..6731503368e 100644
--- a/TAO/tao/Messaging/AMH_Response_Handler.h
+++ b/TAO/tao/Messaging/AMH_Response_Handler.h
@@ -20,6 +20,7 @@
#include "tao/CDR.h"
#include "tao/LocalObject.h"
#include "tao/Buffer_Allocator_T.h"
+#include "tao/GIOPC.h"
#include "ace/Synch_Traits.h"
#include "ace/Thread_Mutex.h"
#include "ace/Null_Mutex.h"
@@ -116,13 +117,8 @@ protected:
*/
TAO_OutputCDR _tao_out;
- // TAO_GIOP_ReplyStatusType exception_type_;
- /// Exception type (will be NO_EXCEPTION in the majority of the
- /// cases).
- // @@ Mayur: I do not think we need this one, we can deduce the type
- // of reply depending on the _tao_rh_*() method called.
- CORBA::ULong exception_type_;
-
+ /// Reply status (will be NO_EXCEPTION in the majority of the
+ GIOP::ReplyStatusType reply_status_;
private:
@@ -165,14 +161,15 @@ private:
* the states are used not only in implementing the 'once-only semantics of
* RHs, but in making sure well the call thread-safe as well.
*/
- enum Reply_Status
+ enum RH_Reply_Status
{
TAO_RS_UNINITIALIZED,
TAO_RS_INITIALIZED,
TAO_RS_SENDING,
TAO_RS_SENT
};
- Reply_Status reply_status_;
+ RH_Reply_Status rh_reply_status_;
+
// I would use the "state pattern"..
// Carlos, Isn't that an overkill?
// @@ Mayur: it depends on what form of the "State Pattern" you
diff --git a/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp b/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp
index 6d5fc89d3c6..144ff7ed9f4 100644
--- a/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp
+++ b/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp
@@ -59,7 +59,7 @@ TAO_AMI_Arguments_Converter_Impl::convert_reply (
{
TAO_OutputCDR output;
TAO_Pluggable_Reply_Params params (0);
- params.reply_status_ = TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION;
+ params.reply_status (GIOP::NO_EXCEPTION);
for (CORBA::ULong j = 0; j < nargs; ++j)
{
if (!(args[j]->marshal (output)))
@@ -84,11 +84,11 @@ TAO_AMI_Arguments_Converter_Impl::handle_corba_exception (
exception->_tao_encode (output);
if (CORBA::SystemException::_downcast (exception) != 0)
{
- params.reply_status_ = TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION;
+ params.reply_status (GIOP::SYSTEM_EXCEPTION);
}
else
{
- params.reply_status_ = TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION;
+ params.reply_status (GIOP::USER_EXCEPTION);
}
TAO_InputCDR input (output);
params.input_cdr_ = &input;
diff --git a/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp b/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
index 514061e22ab..ac14e6978f3 100644
--- a/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
+++ b/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
@@ -202,7 +202,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
CORBA::Boolean const permanent_forward =
- (asynch.reply_status() == TAO_GIOP_LOCATION_FORWARD_PERM);
+ (asynch.reply_status() == GIOP::LOCATION_FORWARD_PERM);
#else
CORBA::Boolean const permanent_forward = false;
#endif
diff --git a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
index 4d3f497a306..27eb11ecae8 100644
--- a/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
+++ b/TAO/tao/Messaging/Asynch_Reply_Dispatcher.cpp
@@ -51,7 +51,8 @@ TAO_Asynch_Reply_Dispatcher::dispatch_reply (TAO_Pluggable_Reply_Params &params)
// AMI Timeout Handling End
}
- this->reply_status_ = params.reply_status_;
+ this->reply_status_ = params.reply_status ();
+ this->locate_reply_status_ = params.locate_reply_status ();
// Transfer the <params.input_cdr_>'s content to this->reply_cdr_
ACE_Data_Block *db = this->reply_cdr_.clone_from (*params.input_cdr_);
@@ -94,18 +95,18 @@ TAO_Asynch_Reply_Dispatcher::dispatch_reply (TAO_Pluggable_Reply_Params &params)
CORBA::ULong reply_error = TAO_AMI_REPLY_NOT_OK;
switch (this->reply_status_)
{
- case TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION:
+ case GIOP::NO_EXCEPTION:
reply_error = TAO_AMI_REPLY_OK;
break;
- case TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION:
+ case GIOP::USER_EXCEPTION:
reply_error = TAO_AMI_REPLY_USER_EXCEPTION;
break;
- case TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION:
+ case GIOP::SYSTEM_EXCEPTION:
reply_error = TAO_AMI_REPLY_SYSTEM_EXCEPTION;
break;
default:
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD:
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM:
+ case GIOP::LOCATION_FORWARD:
+ case GIOP::LOCATION_FORWARD_PERM:
// @@ Michael: Not even the spec mentions this case.
// We have to think about this case.
// Handle the forwarding and return so the stub restarts the
diff --git a/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp b/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
index a4658c28a99..edd6333959b 100644
--- a/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
+++ b/TAO/tao/PI_Server/ServerInterceptorAdapter.cpp
@@ -212,7 +212,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request_service_contexts (
catch (const ::PortableInterceptor::ForwardRequest& exc)
{
server_request.forward_location (exc.forward.in ());
- server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ server_request.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
(void) this->send_other (server_request,
args,
nargs,
@@ -280,7 +280,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::receive_request (
catch (const ::PortableInterceptor::ForwardRequest& exc)
{
server_request.forward_location (exc.forward.in ());
- server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ server_request.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
this->send_other (server_request,
args,
nargs,
@@ -391,7 +391,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::send_exception (
catch (const ::PortableInterceptor::ForwardRequest& exc)
{
server_request.forward_location (exc.forward.in ());
- server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ server_request.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
this->send_other (server_request,
args,
nargs,
@@ -483,7 +483,7 @@ TAO::ServerRequestInterceptor_Adapter_Impl::send_other (
catch (const ::PortableInterceptor::ForwardRequest& exc)
{
server_request.forward_location (exc.forward.in ());
- server_request.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ server_request.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
this->send_other (server_request,
args,
nargs,
diff --git a/TAO/tao/PI_Server/ServerRequestInfo.cpp b/TAO/tao/PI_Server/ServerRequestInfo.cpp
index 33383e098e2..a63e7864817 100644
--- a/TAO/tao/PI_Server/ServerRequestInfo.cpp
+++ b/TAO/tao/PI_Server/ServerRequestInfo.cpp
@@ -108,8 +108,8 @@ TAO::ServerRequestInfo::arguments (void)
parameter.mode = (*i)->mode ();
// When we are in receive_request and have an out argument, then
// don't copy it, just let the any be empty with typecode tk_null
- if ((this->server_request_.reply_status () != -1) ||
- (this->server_request_.reply_status () == -1 &&
+ if ((this->server_request_.pi_reply_status () != -1) ||
+ (this->server_request_.pi_reply_status () == -1 &&
(*i)->mode () != CORBA::PARAM_OUT))
{
(*i)->interceptor_value (&parameter.argument);
@@ -203,17 +203,17 @@ TAO::ServerRequestInfo::sync_scope (void)
PortableInterceptor::ReplyStatus
TAO::ServerRequestInfo::reply_status (void)
{
- if (this->server_request_.reply_status () == -1)
+ if (this->server_request_.pi_reply_status () == -1)
// A reply hasn't been received yet.
throw ::CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, CORBA::COMPLETED_NO);
- return this->server_request_.reply_status ();
+ return this->server_request_.pi_reply_status ();
}
CORBA::Object_ptr
TAO::ServerRequestInfo::forward_reference (void)
{
- if (this->server_request_.reply_status () != PortableInterceptor::LOCATION_FORWARD)
+ if (this->server_request_.pi_reply_status () != PortableInterceptor::LOCATION_FORWARD)
throw ::CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, CORBA::COMPLETED_NO);
// TAO_ServerRequest::forward_location() already duplicates the
@@ -287,8 +287,8 @@ TAO::ServerRequestInfo::get_service_context_i (
CORBA::Any *
TAO::ServerRequestInfo::sending_exception (void)
{
- if (this->server_request_.reply_status () != PortableInterceptor::SYSTEM_EXCEPTION
- && this->server_request_.reply_status () != PortableInterceptor::USER_EXCEPTION)
+ if (this->server_request_.pi_reply_status () != PortableInterceptor::SYSTEM_EXCEPTION
+ && this->server_request_.pi_reply_status () != PortableInterceptor::USER_EXCEPTION)
{
throw ::CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 14, CORBA::COMPLETED_NO);
}
diff --git a/TAO/tao/PI_Server/ServerRequestInfo.inl b/TAO/tao/PI_Server/ServerRequestInfo.inl
index 09985532ba8..981df1cbdff 100644
--- a/TAO/tao/PI_Server/ServerRequestInfo.inl
+++ b/TAO/tao/PI_Server/ServerRequestInfo.inl
@@ -32,7 +32,7 @@ TAO::ServerRequestInfo::forward_reference (
// Note that we're converting the ForwardRequest exception in to a
// LOCATION_FORWARD reply, so we do not set the exception status.
- this->server_request_.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ this->server_request_.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
// Store the forward reference in the TAO_ServerRequest object.
this->server_request_.forward_location (exc.forward.in ());
@@ -44,7 +44,7 @@ TAO::ServerRequestInfo::forward_reference (CORBA::Object_ptr obj)
// We only get here if a servant manager threw a
// PortableServer::ForwardRequest exception.
- this->server_request_.reply_status (PortableInterceptor::LOCATION_FORWARD);
+ this->server_request_.pi_reply_status (PortableInterceptor::LOCATION_FORWARD);
// Store the forward reference in the TAO_ServerRequest object.
this->server_request_.forward_location (obj);
diff --git a/TAO/tao/Pluggable_Messaging_Utils.cpp b/TAO/tao/Pluggable_Messaging_Utils.cpp
index 9f50cc1119f..40fbcb5eebc 100644
--- a/TAO/tao/Pluggable_Messaging_Utils.cpp
+++ b/TAO/tao/Pluggable_Messaging_Utils.cpp
@@ -11,7 +11,6 @@ ACE_RCSID (tao,
Pluggable_Messaging_Utils,
"$Id$")
-
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
TAO_Pluggable_Reply_Params::TAO_Pluggable_Reply_Params (TAO_Transport *t)
diff --git a/TAO/tao/Pluggable_Messaging_Utils.h b/TAO/tao/Pluggable_Messaging_Utils.h
index aae0a7012bb..953edc32888 100644
--- a/TAO/tao/Pluggable_Messaging_Utils.h
+++ b/TAO/tao/Pluggable_Messaging_Utils.h
@@ -19,6 +19,7 @@
#include /**/ "ace/pre.h"
#include "tao/IOP_IORC.h"
+#include "tao/GIOPC.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -31,7 +32,7 @@ class TAO_Transport;
/**
* @class TAO_Pluggable_Reply_Params_Base
*
- * @brief TAO_Pluggable_Acceptor_Params
+ * @brief TAO_Pluggable_Reply_Params_Base
*
* This represents a set of data that would be assembled by the
* acceptor to pass to the connector. This base class is used by
@@ -51,12 +52,6 @@ public:
/// The request id for which the reply we (connector) has received.
CORBA::ULong request_id_;
- // @@ Bala: this is (again) an GIOPism (to coin a word). Other
- // protocol may choose to send different *messages* instead.
- // @@ Carlos: I agree. Please see above.
- /// The reply status.
- CORBA::ULong reply_status_;
-
/**
* Since this class no longer contains an NVList, this is the
* way to determine if the request was DSI, so we can use Carlos'
@@ -81,9 +76,22 @@ public:
/// marshalled in the reply
CORBA::Boolean argument_flag_;
+ GIOP::ReplyStatusType reply_status (void) const;
+ void reply_status (GIOP::ReplyStatusType status);
+
+ GIOP::LocateStatusType locate_reply_status (void) const;
+ void locate_reply_status (GIOP::LocateStatusType status);
+
protected:
/// The service context list that we don't own.
IOP::ServiceContextList *service_context_;
+private:
+ /// The reply status.
+ GIOP::ReplyStatusType reply_status_;
+
+ /// The locate reply status
+ GIOP::LocateStatusType locate_reply_status_;
+
};
/**
@@ -106,82 +114,6 @@ public:
TAO_Transport *transport_;
};
-// @@ Bala: this is a GIOPism too, there is no such thing as locate
-// request in HTTP (the basis for SOAP and XIOP), i don't know about
-// HTTP-NG, but i wouldn't be surprised if it had. Furthermore, some
-// very influential people (Michi) is arguing against it in the OMG.
-//
-// @@Carlos: Yes, I also saw some of Michi's ideas. Even if OMG
-// decides to remove this, can I point that we may have to support that
-// for the existsing GIOP1.0,1.1 & GIOP 1.2. Above all, the enum type
-// contains things that I know of today. I can go ahead and add HTTP-NG
-// stuff. They all seem to be in Working Draft stage. So, I am just
-// keeping off. I dont want to add something for the kick of it :-)
-enum TAO_Pluggable_Header_Type
-{
- TAO_PLUGGABLE_MESSAGE_REQUEST_HEADER = 0,
- TAO_PLUGGABLE_MESSAGE_LOCATE_REQUEST_HEADER
-};
-
-
-/**
- * Provide an external interface for the users of this pluggable
- * messaging framework to denote existing message types. This has
- * an inspiration from GIOP. So if anybody wants to add more message
- * types you are welcome but please do not change the numbering
- * scheme as this would affect GIOP.
- *
- * @note
- * We may not need everything here. It would be good if we
- * have only the following messages TAO_PLUGGABLE_MESSAGE_REQUEST,
- * TAO_PLUGGABLE_MESSAGE_REPLY,
- * TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION,
- * TAO_PLUGGABLE_MESSAGE_MESSAGE_ERROR. Changes will be made once
- * the rest of the stuff gets ready to roll
- */
-enum TAO_Pluggable_Message_Type
-{
- TAO_PLUGGABLE_MESSAGE_REQUEST = 0, // sent by client.
- TAO_PLUGGABLE_MESSAGE_REPLY = 1, // by server.
- TAO_PLUGGABLE_MESSAGE_CANCELREQUEST = 2, // by client.
- TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST = 3, // by client.
- TAO_PLUGGABLE_MESSAGE_LOCATEREPLY = 4,
- TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION = 5,
- TAO_PLUGGABLE_MESSAGE_MESSAGERROR = 6,
- TAO_PLUGGABLE_MESSAGE_FRAGMENT = 7
-};
-
-// @@ Bala: This is a hopeless GIOPism.
-// @@ Carlos: Agreed.
-
-/**
- * Provide an external interface for the users of this pluggable
- * messaging framework to denote existing Exception types. This has
- * an inspiration from GIOP. So if anybody wants to add more message
- * types you are welcome but please do not change the numbering
- * scheme as this would affect GIOP.
- */
-enum TAO_Pluggable_Message_Exception_Type
-{
- /// Request completed successfully
- TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION = 0,
-
- /// Request terminated with user exception
- TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION,
-
- /// Request terminated with system exception
- TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION,
-
- /// Reply is a location forward type
- TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD,
-
- /// PLUGGABLE_MESSAGE 1.2, Reply is a location forward perm type..
- TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM,
-
- /// GIOP1.2,
- TAO_PLUGGABLE_MESSAGE_NEEDS_ADDRESSING_MODE
-};
-
TAO_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/Pluggable_Messaging_Utils.inl b/TAO/tao/Pluggable_Messaging_Utils.inl
index 2269bc9e91a..3af24e41ef7 100644
--- a/TAO/tao/Pluggable_Messaging_Utils.inl
+++ b/TAO/tao/Pluggable_Messaging_Utils.inl
@@ -8,14 +8,39 @@ ACE_INLINE
TAO_Pluggable_Reply_Params_Base::TAO_Pluggable_Reply_Params_Base (void)
: svc_ctx_ (),
request_id_ (0),
- reply_status_ (0),
is_dsi_ (0),
dsi_nvlist_align_ (0),
argument_flag_ (false),
- service_context_ (0)
+ service_context_ (0),
+ reply_status_ (GIOP::NO_EXCEPTION),
+ locate_reply_status_ (GIOP::UNKNOWN_OBJECT)
{
}
+ACE_INLINE GIOP::ReplyStatusType
+TAO_Pluggable_Reply_Params_Base::reply_status (void) const
+{
+ return this->reply_status_;
+}
+
+ACE_INLINE void
+TAO_Pluggable_Reply_Params_Base::reply_status (GIOP::ReplyStatusType status)
+{
+ this->reply_status_ = status;
+}
+
+ACE_INLINE GIOP::LocateStatusType
+TAO_Pluggable_Reply_Params_Base::locate_reply_status (void) const
+{
+ return this->locate_reply_status_;
+}
+
+ACE_INLINE void
+TAO_Pluggable_Reply_Params_Base::locate_reply_status (GIOP::LocateStatusType status)
+{
+ this->locate_reply_status_ = status;
+}
+
ACE_INLINE void
TAO_Pluggable_Reply_Params_Base::service_context_notowned (
IOP::ServiceContextList *svc)
diff --git a/TAO/tao/PortableServer/Upcall_Wrapper.cpp b/TAO/tao/PortableServer/Upcall_Wrapper.cpp
index c8433a771c2..498843a3b9b 100644
--- a/TAO/tao/PortableServer/Upcall_Wrapper.cpp
+++ b/TAO/tao/PortableServer/Upcall_Wrapper.cpp
@@ -118,7 +118,7 @@ TAO::Upcall_Wrapper::upcall (TAO_ServerRequest & server_request,
#if TAO_HAS_INTERCEPTORS == 1
if (interceptor_adapter == 0)
{
- server_request.reply_status (PortableInterceptor::SUCCESSFUL);
+ server_request.pi_reply_status (PortableInterceptor::SUCCESSFUL);
}
else
{
@@ -136,7 +136,7 @@ TAO::Upcall_Wrapper::upcall (TAO_ServerRequest & server_request,
if (CORBA::is_nil (forward_to_after.in ()))
{
// No location forward by interceptors and successful upcall.
- server_request.reply_status (PortableInterceptor::SUCCESSFUL);
+ server_request.pi_reply_status (PortableInterceptor::SUCCESSFUL);
interceptor_adapter->send_reply (server_request,
the_args,
the_nargs,
diff --git a/TAO/tao/Queued_Data.h b/TAO/tao/Queued_Data.h
index 64ef1cd4bcd..75a56e58231 100644
--- a/TAO/tao/Queued_Data.h
+++ b/TAO/tao/Queued_Data.h
@@ -89,7 +89,7 @@ public:
CORBA::Octet more_fragments (void) const;
/// Get message type
- TAO_Pluggable_Message_Type msg_type (void) const;
+ GIOP::MsgType msg_type (void) const;
/// Get next
TAO_Queued_Data *next (void) const;
@@ -105,7 +105,7 @@ public:
/// Set the state
void state (const TAO_GIOP_Message_State& state);
-
+
const TAO_GIOP_Message_State& state (void) const;
private:
diff --git a/TAO/tao/Queued_Data.inl b/TAO/tao/Queued_Data.inl
index a5dd0331858..ce55deee47e 100644
--- a/TAO/tao/Queued_Data.inl
+++ b/TAO/tao/Queued_Data.inl
@@ -92,7 +92,7 @@ TAO_Queued_Data::more_fragments (void) const
return this->state_.more_fragments ();
}
-ACE_INLINE TAO_Pluggable_Message_Type
+ACE_INLINE GIOP::MsgType
TAO_Queued_Data::msg_type (void) const
{
return this->state_.message_type ();
@@ -128,7 +128,7 @@ TAO_Queued_Data::state (const TAO_GIOP_Message_State& state)
this->state_ = state;
}
-ACE_INLINE const TAO_GIOP_Message_State&
+ACE_INLINE const TAO_GIOP_Message_State&
TAO_Queued_Data::state (void) const
{
return this->state_;
diff --git a/TAO/tao/Reply_Dispatcher.cpp b/TAO/tao/Reply_Dispatcher.cpp
index 2caa48e8418..eb6f608eaa2 100644
--- a/TAO/tao/Reply_Dispatcher.cpp
+++ b/TAO/tao/Reply_Dispatcher.cpp
@@ -2,8 +2,8 @@
#include "tao/Reply_Dispatcher.h"
-ACE_RCSID (tao,
- Reply_Dispatcher,
+ACE_RCSID (tao,
+ Reply_Dispatcher,
"$Id$")
#if !defined (__ACE_INLINE__)
@@ -15,7 +15,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL
// Constructor.
TAO_Reply_Dispatcher::TAO_Reply_Dispatcher (void)
// Just an invalid reply status.
- : reply_status_ (100)
+ : locate_reply_status_ (GIOP::UNKNOWN_OBJECT)
+ , reply_status_ (GIOP::NO_EXCEPTION)
{
}
diff --git a/TAO/tao/Reply_Dispatcher.h b/TAO/tao/Reply_Dispatcher.h
index 1635d749878..7ce7fd4903e 100644
--- a/TAO/tao/Reply_Dispatcher.h
+++ b/TAO/tao/Reply_Dispatcher.h
@@ -25,6 +25,7 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/Basic_Types.h"
+#include "tao/GIOPC.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -34,7 +35,6 @@ class TAO_Pluggable_Reply_Params;
/**
* @class TAO_Reply_Dispatcher
*
- *
* Different invocation modes process the Reply messages in
* different ways. Traditional synchronous replies simply receive
* the message and wake up the waiting thread (if any).
@@ -78,12 +78,17 @@ public:
*/
virtual void connection_closed (void) = 0;
- /// Get the reply status.
- CORBA::ULong reply_status (void) const;
+ /// Get the locate reply status.
+ GIOP::LocateStatusType locate_reply_status (void) const;
+
+ GIOP::ReplyStatusType reply_status (void) const;
protected:
- /// Reply or LocateReply status.
- CORBA::ULong reply_status_;
+ /// LocateReply status.
+ GIOP::LocateStatusType locate_reply_status_;
+
+ // RequestReply status
+ GIOP::ReplyStatusType reply_status_;
};
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/Reply_Dispatcher.inl b/TAO/tao/Reply_Dispatcher.inl
index e390ec5911c..fdbe87db09d 100644
--- a/TAO/tao/Reply_Dispatcher.inl
+++ b/TAO/tao/Reply_Dispatcher.inl
@@ -5,7 +5,13 @@
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-ACE_INLINE CORBA::ULong
+ACE_INLINE GIOP::LocateStatusType
+TAO_Reply_Dispatcher::locate_reply_status (void) const
+{
+ return this->locate_reply_status_;
+}
+
+ACE_INLINE GIOP::ReplyStatusType
TAO_Reply_Dispatcher::reply_status (void) const
{
return this->reply_status_;
diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp
index 34e957bdbba..2031d848c2d 100644
--- a/TAO/tao/Synch_Invocation.cpp
+++ b/TAO/tao/Synch_Invocation.cpp
@@ -339,7 +339,7 @@ namespace TAO
// have been handled in the reply dispatcher/protocol framework.
switch (rd.reply_status ())
{
- case TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION:
+ case GIOP::NO_EXCEPTION:
{
Reply_Guard mon (this, TAO_INVOKE_FAILURE);
if (this->details_.demarshal_args (cdr) == false)
@@ -350,9 +350,9 @@ namespace TAO
mon.set_status (TAO_INVOKE_SUCCESS);
}
break;
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD:
+ case GIOP::LOCATION_FORWARD:
return this->location_forward (cdr);
- case TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM:
+ case GIOP::LOCATION_FORWARD_PERM:
{
// Unmarshal the location forward object and set the
// variable this->forward_to_.
@@ -379,12 +379,12 @@ namespace TAO
return s;
}
- case TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION:
+ case GIOP::USER_EXCEPTION:
return this->handle_user_exception (cdr);
- case TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION:
+ case GIOP::SYSTEM_EXCEPTION:
return this->handle_system_exception (cdr);
- case TAO_PLUGGABLE_MESSAGE_NEEDS_ADDRESSING_MODE:
+ case GIOP::NEEDS_ADDRESSING_MODE:
{
Reply_Guard mon (this, TAO_INVOKE_FAILURE);
// We have received a message with a request to change the
diff --git a/TAO/tao/Synch_Reply_Dispatcher.cpp b/TAO/tao/Synch_Reply_Dispatcher.cpp
index 9dbdcb0eabd..aec04954877 100644
--- a/TAO/tao/Synch_Reply_Dispatcher.cpp
+++ b/TAO/tao/Synch_Reply_Dispatcher.cpp
@@ -55,7 +55,8 @@ TAO_Synch_Reply_Dispatcher::dispatch_reply (
if (params.input_cdr_ == 0)
return -1;
- this->reply_status_ = params.reply_status_;
+ this->reply_status_ = params.reply_status ();
+ this->locate_reply_status_ = params.locate_reply_status ();
// Steal the buffer, that way we don't do any unnecesary copies of
// this data.
@@ -78,8 +79,7 @@ TAO_Synch_Reply_Dispatcher::dispatch_reply (
}
else
{
- ACE_Data_Block *db =
- this->reply_cdr_.clone_from (*params.input_cdr_);
+ ACE_Data_Block *db = this->reply_cdr_.clone_from (*params.input_cdr_);
if (db == 0)
{
diff --git a/TAO/tao/TAO_Server_Request.cpp b/TAO/tao/TAO_Server_Request.cpp
index 41919f3775c..371d52005b6 100644
--- a/TAO/tao/TAO_Server_Request.cpp
+++ b/TAO/tao/TAO_Server_Request.cpp
@@ -64,7 +64,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
sync_with_server_ (false),
is_dsi_ (false),
// @@ We shouldn't be using GIOP specific types here. Need to be revisited.
- exception_type_ (TAO_GIOP_NO_EXCEPTION),
+ reply_status_ (GIOP::NO_EXCEPTION),
orb_core_ (orb_core),
request_id_ (0),
profile_ (orb_core),
@@ -76,7 +76,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
, interceptor_count_ (0)
, rs_pi_current_ (0)
, caught_exception_ (0)
- , reply_status_ (-1)
+ , pi_reply_status_ (-1)
#endif /* TAO_HAS_INTERCEPTORS == 1 */
, transport_(transport) //already duplicated in TAO_Transport::process_parsed_messages ()
{
@@ -105,7 +105,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
deferred_reply_ (deferred_reply),
sync_with_server_ (false),
is_dsi_ (false),
- exception_type_ (TAO_GIOP_NO_EXCEPTION),
+ reply_status_ (GIOP::NO_EXCEPTION),
orb_core_ (orb_core),
request_id_ (request_id),
profile_ (orb_core),
@@ -117,7 +117,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
, interceptor_count_ (0)
, rs_pi_current_ (0)
, caught_exception_ (0)
- , reply_status_ (-1)
+ , pi_reply_status_ (-1)
#endif /* TAO_HAS_INTERCEPTORS == 1 */
, transport_(transport) //already duplicated in TAO_Transport::process_parsed_messages ()
{
@@ -141,7 +141,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_ORB_Core * orb_core,
deferred_reply_ (false),
sync_with_server_ (details.response_flags () == static_cast<CORBA::Octet> (Messaging::SYNC_WITH_SERVER)),
is_dsi_ (false),
- exception_type_ (TAO_GIOP_NO_EXCEPTION),
+ reply_status_ (GIOP::NO_EXCEPTION),
orb_core_ (orb_core),
request_id_ (0),
profile_ (orb_core),
@@ -153,7 +153,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_ORB_Core * orb_core,
, interceptor_count_ (0)
, rs_pi_current_ (0)
, caught_exception_ (0)
- , reply_status_ (-1)
+ , pi_reply_status_ (-1)
#endif /* TAO_HAS_INTERCEPTORS == 1 */
, transport_ (0)
{
@@ -253,22 +253,17 @@ TAO_ServerRequest::init_reply (void)
this->orb_core_->is_permanent_forward_condition (this->forward_location_.in (),
this->request_service_context ());
- reply_params.reply_status_
- = permanent_forward_condition
- ? TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM
- : TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD;
+ reply_params.reply_status (
+ permanent_forward_condition
+ ? GIOP::LOCATION_FORWARD_PERM
+ : GIOP::LOCATION_FORWARD);
}
// Any exception at all.
- else if (this->exception_type_ == TAO_GIOP_NO_EXCEPTION)
- {
- reply_params.reply_status_ = TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION;
- }
else
{
- reply_params.reply_status_ = this->exception_type_;
+ reply_params.reply_status (this->reply_status_);
}
-
this->outgoing_->message_attributes (this->request_id_,
0,
TAO_Transport::TAO_REPLY,
@@ -278,8 +273,8 @@ TAO_ServerRequest::init_reply (void)
this->mesg_base_->generate_reply_header (*this->outgoing_, reply_params);
// Finish the GIOP Reply header, then marshal the exception.
- if (reply_params.reply_status_ == TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD ||
- reply_params.reply_status_ == TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM)
+ if (reply_params.reply_status () == GIOP::LOCATION_FORWARD ||
+ reply_params.reply_status () == GIOP::LOCATION_FORWARD_PERM)
{
// Marshal the forward location pointer.
CORBA::Object_ptr object_ptr = this->forward_location_.in ();
@@ -311,7 +306,7 @@ TAO_ServerRequest::send_no_exception_reply (void)
// Send back the reply service context.
reply_params.service_context_notowned (&this->reply_service_info ());
- reply_params.reply_status_ = TAO_GIOP_NO_EXCEPTION;
+ reply_params.reply_status (GIOP::NO_EXCEPTION);
// No data anyway.
reply_params.argument_flag_ = false;
@@ -388,12 +383,15 @@ TAO_ServerRequest::tao_send_reply_exception (const CORBA::Exception &ex)
reply_params.argument_flag_ = true;
// Make a default reply status
- reply_params.reply_status_ = TAO_GIOP_USER_EXCEPTION;
// Check whether we are able to downcast the exception
if (CORBA::SystemException::_downcast (&ex) != 0)
{
- reply_params.reply_status_ = TAO_GIOP_SYSTEM_EXCEPTION;
+ reply_params.reply_status (GIOP::SYSTEM_EXCEPTION);
+ }
+ else
+ {
+ reply_params.reply_status (GIOP::USER_EXCEPTION);
}
// Create a new output CDR stream
@@ -503,7 +501,7 @@ TAO_ServerRequest::send_cached_reply (CORBA::OctetSeq &s)
reply_params.argument_flag_ = true;
// Make a default reply status
- reply_params.reply_status_ = TAO_GIOP_NO_EXCEPTION;
+ reply_params.reply_status (GIOP::NO_EXCEPTION);
this->outgoing_->message_attributes (this->request_id_,
0,
@@ -547,9 +545,9 @@ void
TAO_ServerRequest::caught_exception (CORBA::Exception *exception)
{
if (CORBA::SystemException::_downcast (exception) != 0)
- this->reply_status_ = PortableInterceptor::SYSTEM_EXCEPTION;
+ this->pi_reply_status_ = PortableInterceptor::SYSTEM_EXCEPTION;
else if (CORBA::UserException::_downcast (exception) != 0)
- this->reply_status_ = PortableInterceptor::USER_EXCEPTION;
+ this->pi_reply_status_ = PortableInterceptor::USER_EXCEPTION;
this->caught_exception_ = exception;
}
diff --git a/TAO/tao/TAO_Server_Request.h b/TAO/tao/TAO_Server_Request.h
index ab1f8aae33f..709a19aa588 100644
--- a/TAO/tao/TAO_Server_Request.h
+++ b/TAO/tao/TAO_Server_Request.h
@@ -30,6 +30,7 @@
#include "tao/Service_Context.h"
#include "tao/Object.h"
#include "tao/Transport_Selection_Guard.h"
+#include "tao/GIOPC.h"
#if TAO_HAS_INTERCEPTORS == 1
@@ -209,11 +210,11 @@ public:
/// Get the forward_location.
CORBA::Object_ptr forward_location (void);
- /// Get the exception type.
- CORBA::ULong exception_type (void);
+ /// Get the reply status
+ GIOP::ReplyStatusType reply_status (void);
- /// Set the exception type.
- void exception_type (CORBA::ULong except_type);
+ /// Set the reply status
+ void reply_status (GIOP::ReplyStatusType except_type);
/// Set the requesting principal
void requesting_principal (const CORBA::OctetSeq & principal);
@@ -265,10 +266,10 @@ public:
void caught_exception (CORBA::Exception *exception);
/// Set the status of the received reply.
- void reply_status (PortableInterceptor::ReplyStatus s);
+ void pi_reply_status (PortableInterceptor::ReplyStatus s);
/// Get the status of the received reply.
- PortableInterceptor::ReplyStatus reply_status (void);
+ PortableInterceptor::ReplyStatus pi_reply_status (void);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
private:
@@ -313,8 +314,8 @@ private:
/// Did we get passed to a CORBA::ServerRequest?
CORBA::Boolean is_dsi_;
- /// Exception type (will be NO_EXCEPTION in the majority of the cases).
- CORBA::ULong exception_type_;
+ /// Reply status (will be NO_EXCEPTION in the majority of the cases).
+ GIOP::ReplyStatusType reply_status_;
/// A pointer to the ORB Core for the context where the request was
/// created.
@@ -359,7 +360,7 @@ private:
CORBA::Exception * caught_exception_;
/// Reply status for the current request.
- PortableInterceptor::ReplyStatus reply_status_;
+ PortableInterceptor::ReplyStatus pi_reply_status_;
#endif /* TAO_HAS_INTERCEPTORS == 1 */
///// Transport class.
diff --git a/TAO/tao/TAO_Server_Request.inl b/TAO/tao/TAO_Server_Request.inl
index 2754acc1776..3dd267a0826 100644
--- a/TAO/tao/TAO_Server_Request.inl
+++ b/TAO/tao/TAO_Server_Request.inl
@@ -19,7 +19,7 @@ TAO_ServerRequest::TAO_ServerRequest (void)
deferred_reply_ (false),
sync_with_server_ (false),
is_dsi_ (false),
- exception_type_ (TAO_GIOP_NO_EXCEPTION),
+ reply_status_ (GIOP::NO_EXCEPTION),
orb_core_ (0),
request_id_ (0),
profile_ (0),
@@ -31,7 +31,7 @@ TAO_ServerRequest::TAO_ServerRequest (void)
, interceptor_count_ (0)
, rs_pi_current_ ()
, caught_exception_ (0)
- , reply_status_ (-1)
+ , pi_reply_status_ (-1)
#endif /* TAO_HAS_INTERCEPTORS == 1 */
, transport_(0)
{
@@ -177,16 +177,16 @@ TAO_ServerRequest::forward_location (void)
return CORBA::Object::_duplicate (this->forward_location_.in ());
}
-ACE_INLINE CORBA::ULong
-TAO_ServerRequest::exception_type (void)
+ACE_INLINE GIOP::ReplyStatusType
+TAO_ServerRequest::reply_status (void)
{
- return this->exception_type_;
+ return this->reply_status_;
}
ACE_INLINE void
-TAO_ServerRequest::exception_type (CORBA::ULong except_type)
+TAO_ServerRequest::reply_status (GIOP::ReplyStatusType reply_status)
{
- this->exception_type_ = except_type;
+ this->reply_status_ = reply_status;
}
ACE_INLINE void
@@ -240,15 +240,15 @@ TAO_ServerRequest::caught_exception (void)
}
ACE_INLINE void
-TAO_ServerRequest::reply_status (PortableInterceptor::ReplyStatus s)
+TAO_ServerRequest::pi_reply_status (PortableInterceptor::ReplyStatus s)
{
- this->reply_status_ = s;
+ this->pi_reply_status_ = s;
}
ACE_INLINE PortableInterceptor::ReplyStatus
-TAO_ServerRequest::reply_status (void)
+TAO_ServerRequest::pi_reply_status (void)
{
- return this->reply_status_;
+ return this->pi_reply_status_;
}
#endif /* TAO_HAS_INTERCEPTORS == 1 */
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 4f5138e51a2..0232a41c81e 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -1557,7 +1557,7 @@ TAO_Transport::consolidate_process_message (TAO_Queued_Data *q_data,
}
if (q_data->more_fragments () ||
- q_data->msg_type () == TAO_PLUGGABLE_MESSAGE_FRAGMENT)
+ q_data->msg_type () == GIOP::Fragment)
{
// consolidate message on top of stack, only for fragmented messages
TAO_Queued_Data *new_q_data = 0;
@@ -1638,7 +1638,7 @@ TAO_Transport::consolidate_enqueue_message (TAO_Queued_Data *q_data)
}
if (q_data->more_fragments () ||
- q_data->msg_type () == TAO_PLUGGABLE_MESSAGE_FRAGMENT)
+ q_data->msg_type () == GIOP::Fragment)
{
TAO_Queued_Data *new_q_data = 0;
@@ -2051,7 +2051,7 @@ TAO_Transport::handle_input_parse_data (TAO_Resume_Handle &rh,
if (qd.missing_data () != 0 ||
qd.more_fragments () ||
- qd.msg_type () == TAO_PLUGGABLE_MESSAGE_FRAGMENT)
+ qd.msg_type () == GIOP::Fragment)
{
if (qd.missing_data () == 0)
{
@@ -2252,7 +2252,7 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
switch (qd->msg_type ())
{
- case TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION:
+ case GIOP::CloseConnection:
{
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
@@ -2265,8 +2265,8 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
return -1;
}
break;
- case TAO_PLUGGABLE_MESSAGE_REQUEST:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST:
+ case GIOP::Request:
+ case GIOP::LocateRequest:
{
// Let us resume the handle before we go ahead to process the
// request. This will open up the handle for other threads.
@@ -2282,15 +2282,14 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
}
}
break;
- case TAO_PLUGGABLE_MESSAGE_REPLY:
- case TAO_PLUGGABLE_MESSAGE_LOCATEREPLY:
+ case GIOP::Reply:
+ case GIOP::LocateReply:
{
rh.resume_handle ();
TAO_Pluggable_Reply_Params params (this);
- if (this->messaging_object ()->process_reply_message (params,
- qd) == -1)
+ if (this->messaging_object ()->process_reply_message (params, qd) == -1)
{
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
@@ -2303,7 +2302,7 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
}
break;
- case TAO_PLUGGABLE_MESSAGE_CANCELREQUEST:
+ case GIOP::CancelRequest:
{
// The associated request might be incomplete residing
// fragmented in messaging object. We must make sure the
@@ -2327,7 +2326,7 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
// off the connection.
}
break;
- case TAO_PLUGGABLE_MESSAGE_MESSAGERROR:
+ case GIOP::MessageError:
{
if (TAO_debug_level > 0)
{
@@ -2339,7 +2338,7 @@ TAO_Transport::process_parsed_messages (TAO_Queued_Data *qd,
return -1;
}
break;
- case TAO_PLUGGABLE_MESSAGE_FRAGMENT:
+ case GIOP::Fragment:
{
// Nothing to be done.
}