summaryrefslogtreecommitdiff
path: root/TAO/tao/TAO_Server_Request.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/TAO_Server_Request.h')
-rw-r--r--TAO/tao/TAO_Server_Request.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/TAO/tao/TAO_Server_Request.h b/TAO/tao/TAO_Server_Request.h
index 8796f78d207..f878aad1591 100644
--- a/TAO/tao/TAO_Server_Request.h
+++ b/TAO/tao/TAO_Server_Request.h
@@ -44,6 +44,8 @@ namespace CORBA
typedef ORB *ORB_ptr;
}
+class TAO_Operation_Details;
+
/**
* @class TAO_ServerRequest
*
@@ -88,6 +90,11 @@ public:
TAO_ORB_Core *orb_core,
int &parse_error);
+ /// Constructor used by thru-POA collocated invocation path.
+ TAO_ServerRequest (TAO_ORB_Core * orb_core,
+ TAO_Operation_Details const & details,
+ CORBA::Object_ptr target);
+
/// Destructor.
virtual ~TAO_ServerRequest (void);
@@ -111,16 +118,16 @@ public:
CORBA::ORB_ptr orb (void);
/// Return the ORB core pointer member.
- TAO_ORB_Core *orb_core (void);
+ TAO_ORB_Core *orb_core (void) const;
/// Start a Reply message.
void init_reply (void);
/// Retrieve the incoming stream.
- TAO_InputCDR &incoming (void);
+ TAO_InputCDR * incoming (void) const;
/// Retrieve the outgoing stream.
- TAO_OutputCDR &outgoing (void);
+ TAO_OutputCDR * outgoing (void) const;
/// Is the response expected?
CORBA::Boolean response_expected (void) const;
@@ -204,6 +211,9 @@ public:
/// Set the member.
void dsi_nvlist_align (ptrdiff_t alignment);
+ // Get the operation details for the current request.
+ TAO_Operation_Details const * operation_details (void) const;
+
/// Get/Set operations for the argument_flag
void argument_flag (CORBA::Boolean flag);
CORBA::Boolean argument_flag (void);
@@ -270,6 +280,9 @@ private:
/// 0: anything else
CORBA::Boolean sync_with_server_;
+ /// Did we get passed to a CORBA::ServerRequest?
+ CORBA::Boolean is_dsi_;
+
// TAO_GIOP_ReplyStatusType exception_type_;
/// Exception type (will be NO_EXCEPTION in the majority of the cases).
CORBA::ULong exception_type_;
@@ -291,12 +304,11 @@ private:
/// Identifies the requester.
CORBA::OctetSeq_var requesting_principal_;
- /// Did we get passed to a CORBA::ServerRequest?
- CORBA::Boolean is_dsi_;
-
/// Used to pad CDR stream if we have used DSI.
ptrdiff_t dsi_nvlist_align_;
+ TAO_Operation_Details const * const operation_details_;
+
/**
* An argument flag to indicate whether there is any data that is
* going to get marshalled along as a reply. The default will be 1