CORBA::Request Class Reference

CORBA::Request. More...

#include <Request.h>

Collaboration diagram for CORBA::Request:
Collaboration graph
[legend]

List of all members.

Public Types

typedef CORBA::Request_ptr _ptr_type
typedef CORBA::Request_var _var_type
typedef CORBA::Request_out _out_type

Public Member Functions

CORBA::Object_ptr target (void) const
 Return the target of this request.
const CORBA::Charoperation (void) const
 Return the operation name for the request.
CORBA::NVList_ptr arguments (void)
 Return the arguments for the request.
CORBA::NamedValue_ptr result (void)
 Return the result for the request.
CORBA::ExceptionList_ptr exceptions (void)
 Return the exceptions resulting from this request.
CORBA::Context_ptr ctx (void) const
 Accessor for the Context member.
void ctx (CORBA::Context_ptr)
 Mutator for the Context member.
CORBA::ContextList_ptr contexts (void)
void set_return_type (CORBA::TypeCode_ptr tc)
 Initialize the return type.
CORBA::Any & return_value (void)
 Returns reference to Any for extraction using >>=.
void invoke (void)
 Perform method resolution and invoke an appropriate method.
void send_oneway (void)
 Send a oneway request.
void handle_response (TAO_InputCDR &incoming, GIOP::ReplyStatusType reply_status)
 Callback method for deferred synchronous requests.
void sendc (CORBA::Object_ptr handler)
CORBA::ULong _incr_refcnt (void)
CORBA::ULong _decr_refcnt (void)
void _tao_lazy_evaluation (bool lazy_evaluation)
 Set the lazy evaluation flag.
int _tao_byte_order (void) const
 Get the byte order member.
void _tao_byte_order (int byte_order)
 Set the byte order member.
void raw_user_exception (TAO_InputCDR &cdr)
ACE_CStringraw_user_exception (void)
 Accessor for the input stream containing the exception.
CORBA::Boolean response_received (void)
Argument manipulation helper functions.

Arg adders, one for each type of parameter, with and without optional name. Returns reference to Any for insertion using <<=.

CORBA::Any & add_in_arg (void)
CORBA::Any & add_in_arg (const char *name)
CORBA::Any & add_inout_arg (void)
CORBA::Any & add_inout_arg (const char *name)
CORBA::Any & add_out_arg (void)
CORBA::Any & add_out_arg (const char *name)
The 'deferred synchronous' methods.

The 'deferred synchronous' methods.

void send_deferred (void)
void get_response (void)
CORBA::Boolean poll_response (void)

Static Public Member Functions

static void _tao_reply_stub (TAO_InputCDR &_tao_reply_cdr, Messaging::ReplyHandler_ptr _tao_reply_handler, CORBA::ULong reply_status)
static CORBA::Request_duplicate (CORBA::Request *)
 Pseudo object methods.
static CORBA::Request_nil (void)

Private Member Functions

 Request (CORBA::Object_ptr obj, CORBA::ORB_ptr orb, const CORBA::Char *op, CORBA::NVList_ptr args, CORBA::NamedValue_ptr result, CORBA::Flags flags, CORBA::ExceptionList_ptr exceptions)
 Request (CORBA::Object_ptr obj, CORBA::ORB_ptr orb, const CORBA::Char *op)
 ~Request (void)

Private Attributes

CORBA::Object_ptr target_
 Target object.
CORBA::ORB_var orb_
 Pointer to our ORB.
const char * opname_
 Operation name.
CORBA::NVList_ptr args_
 Parameter list.
CORBA::NamedValue_ptr result_
 Result of the operation.
CORBA::Flags flags_
 Invocation flags.
CORBA::ExceptionList_var exceptions_
CORBA::ContextList_ptr contexts_
 List of the request's result's contexts.
CORBA::Context_ptr ctx_
 Context associated with this request.
ACE_Atomic_Op< TAO_SYNCH_MUTEX,
unsigned long > 
refcount_
 Reference counting.
TAO_SYNCH_MUTEX lock_
 Protect the response_received_.
bool lazy_evaluation_
 If not zero then the NVList is not evaluated by default.
CORBA::Boolean response_received_
 Set to true upon completion of invoke() or handle_response().
int byte_order_
 Can be reset by a gateway when passing along a request.
ACE_CString raw_user_exception_

Friends

class ::TAO_Dynamic_Adapter_Impl

Detailed Description

CORBA::Request.

Provides a way to create requests and populate it with parameters for use in the Dynamic Invocation Interface.


Member Typedef Documentation


Constructor & Destructor Documentation

CORBA::Request::Request ( CORBA::Object_ptr  obj,
CORBA::ORB_ptr  orb,
const CORBA::Char op,
CORBA::NVList_ptr  args,
CORBA::NamedValue_ptr  result,
CORBA::Flags  flags,
CORBA::ExceptionList_ptr  exceptions 
) [private]
CORBA::Request::Request ( CORBA::Object_ptr  obj,
CORBA::ORB_ptr  orb,
const CORBA::Char op 
) [private]
CORBA::Request::~Request ( void   )  [private]

Member Function Documentation

CORBA::ULong CORBA::Request::_decr_refcnt ( void   ) 
static CORBA::Request* CORBA::Request::_duplicate ( CORBA::Request  )  [static]

Pseudo object methods.

CORBA::ULong CORBA::Request::_incr_refcnt ( void   ) 
CORBA::Request_ptr CORBA::Request::_nil ( void   )  [inline, static]
void CORBA::Request::_tao_byte_order ( int  byte_order  )  [inline]

Set the byte order member.

int CORBA::Request::_tao_byte_order ( void   )  const [inline]

Get the byte order member.

void CORBA::Request::_tao_lazy_evaluation ( bool  lazy_evaluation  )  [inline]

Set the lazy evaluation flag.

void CORBA::Request::_tao_reply_stub ( TAO_InputCDR _tao_reply_cdr,
Messaging::ReplyHandler_ptr  _tao_reply_handler,
CORBA::ULong  reply_status 
) [static]
CORBA::Any& CORBA::Request::add_in_arg ( const char *  name  ) 
CORBA::Any & CORBA::Request::add_in_arg ( void   )  [inline]
CORBA::Any& CORBA::Request::add_inout_arg ( const char *  name  ) 
CORBA::Any & CORBA::Request::add_inout_arg ( void   )  [inline]
CORBA::Any& CORBA::Request::add_out_arg ( const char *  name  ) 
CORBA::Any & CORBA::Request::add_out_arg ( void   )  [inline]
CORBA::NVList_ptr CORBA::Request::arguments ( void   )  [inline]

Return the arguments for the request.

CORBA::ContextList_ptr CORBA::Request::contexts ( void   )  [inline]

Return a list of the request's result's contexts. Since TAO does not implement Contexts, this will always be 0.

void CORBA::Request::ctx ( CORBA::Context_ptr  ctx  )  [inline]

Mutator for the Context member.

CORBA::Context_ptr CORBA::Request::ctx ( void   )  const [inline]

Accessor for the Context member.

CORBA::ExceptionList_ptr CORBA::Request::exceptions ( void   )  [inline]

Return the exceptions resulting from this request.

void CORBA::Request::get_response ( void   ) 
void CORBA::Request::handle_response ( TAO_InputCDR incoming,
GIOP::ReplyStatusType  reply_status 
)

Callback method for deferred synchronous requests.

void CORBA::Request::invoke ( void   ) 

Perform method resolution and invoke an appropriate method.

If the method returns successfully, its result is placed in the result argument specified on create_request. The behavior is undefined if this Request has already been used with a previous call to invoke>, send>, or .

Note:
A default argument is set, but please note that this not recommended as the user may not be able to propagate the exceptions.
const CORBA::Char * CORBA::Request::operation ( void   )  const [inline]

Return the operation name for the request.

CORBA::Boolean CORBA::Request::poll_response ( void   ) 
ACE_CString & CORBA::Request::raw_user_exception ( void   )  [inline]

Accessor for the input stream containing the exception.

void CORBA::Request::raw_user_exception ( TAO_InputCDR cdr  )  [inline]
CORBA::Boolean CORBA::Request::response_received ( void   )  [inline]

Proprietary method to check whether a response has been received.

CORBA::NamedValue_ptr CORBA::Request::result ( void   )  [inline]

Return the result for the request.

CORBA::Any & CORBA::Request::return_value ( void   )  [inline]

Returns reference to Any for extraction using >>=.

void CORBA::Request::send_deferred ( void   ) 
void CORBA::Request::send_oneway ( void   ) 

Send a oneway request.

Note:
A default argument is set, but please note that this not recommended as the user may not be able to propagate the exceptions.
void CORBA::Request::sendc ( CORBA::Object_ptr  handler  ) 

The 'asychronous' send method. The object is a DSI based callback handler. This handler must implement Messaging::ReplyHandler

void CORBA::Request::set_return_type ( CORBA::TypeCode_ptr  tc  )  [inline]

Initialize the return type.

CORBA::Object_ptr CORBA::Request::target ( void   )  const [inline]

Return the target of this request.


Friends And Related Function Documentation

friend class ::TAO_Dynamic_Adapter_Impl [friend]

Member Data Documentation

Parameter list.

Can be reset by a gateway when passing along a request.

List of the request's result's contexts.

Context associated with this request.

Deprecated:
Holds exceptions.

List of exceptions raised by the operation.

Invocation flags.

If not zero then the NVList is not evaluated by default.

TAO_SYNCH_MUTEX CORBA::Request::lock_ [private]

Protect the response_received_.

const char* CORBA::Request::opname_ [private]

Operation name.

Pointer to our ORB.

Stores user exception as a CDR stream when this request is used in a TAO gateway.

ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> CORBA::Request::refcount_ [private]

Reference counting.

Set to true upon completion of invoke() or handle_response().

Result of the operation.

Target object.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines

Generated by  doxygen 1.6.2