TAO_DynamicInterface  2.2.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CORBA::Request Class Reference

CORBA::Request. More...

#include <Request.h>

Collaboration diagram for CORBA::Request:
Collaboration graph

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. More...
 
const CORBA::Charoperation (void) const
 Return the operation name for the request. More...
 
CORBA::NVList_ptr arguments (void)
 Return the arguments for the request. More...
 
CORBA::NamedValue_ptr result (void)
 Return the result for the request. More...
 
CORBA::ExceptionList_ptr exceptions (void)
 Return the exceptions resulting from this request. More...
 
CORBA::Context_ptr ctx (void) const
 Accessor for the Context member. More...
 
void ctx (CORBA::Context_ptr)
 Mutator for the Context member. More...
 
CORBA::ContextList_ptr contexts (void)
 
void set_return_type (CORBA::TypeCode_ptr tc)
 Initialize the return type. More...
 
CORBA::Any & return_value (void)
 Returns reference to Any for extraction using >>=. More...
 
void invoke (void)
 Perform method resolution and invoke an appropriate method. More...
 
void send_oneway (void)
 Send a oneway request. More...
 
void handle_response (TAO_InputCDR &incoming, GIOP::ReplyStatusType reply_status)
 Callback method for deferred synchronous requests. More...
 
void sendc (CORBA::Object_ptr handler)
 
CORBA::ULong _incr_refcount (void)
 
CORBA::ULong _decr_refcount (void)
 
void _tao_lazy_evaluation (bool lazy_evaluation)
 Set the lazy evaluation flag. More...
 
int _tao_byte_order (void) const
 Get the byte order member. More...
 
void _tao_byte_order (int byte_order)
 Set the byte order member. More...
 
void raw_user_exception (TAO_InputCDR &cdr)
 
ACE_CStringraw_user_exception (void)
 Accessor for the input stream containing the exception. More...
 
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. More...
 
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. More...
 
CORBA::ORB_var orb_
 Pointer to our ORB. More...
 
const char * opname_
 Operation name. More...
 
CORBA::NVList_ptr args_
 Parameter list. More...
 
CORBA::NamedValue_ptr result_
 Result of the operation. More...
 
CORBA::Flags flags_
 Invocation flags. More...
 
CORBA::ExceptionList_var exceptions_
 List of exceptions raised by the operation. More...
 
CORBA::ContextList_ptr contexts_
 List of the request's result's contexts. More...
 
CORBA::Context_ptr ctx_
 Context associated with this request. More...
 
ACE_Atomic_Op< TAO_SYNCH_MUTEX,
unsigned long > 
refcount_
 Reference counting. More...
 
TAO_SYNCH_MUTEX lock_
 Protect the response_received_. More...
 
bool lazy_evaluation_
 If not zero then the NVList is not evaluated by default. More...
 
CORBA::Boolean response_received_
 Set to true upon completion of invoke() or handle_response(). More...
 
int byte_order_
 Can be reset by a gateway when passing along a request. More...
 
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_refcount ( void  )
CORBA::Request_ptr CORBA::Request::_duplicate ( CORBA::Request )
static

Pseudo object methods.

CORBA::ULong CORBA::Request::_incr_refcount ( void  )
CORBA::Request_ptr CORBA::Request::_nil ( void  )
static
int CORBA::Request::_tao_byte_order ( void  ) const

Get the byte order member.

void CORBA::Request::_tao_byte_order ( int  byte_order)

Set the byte order member.

void CORBA::Request::_tao_lazy_evaluation ( bool  lazy_evaluation)

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 ( void  )
CORBA::Any& CORBA::Request::add_in_arg ( const char *  name)
CORBA::Any & CORBA::Request::add_inout_arg ( void  )
CORBA::Any& CORBA::Request::add_inout_arg ( const char *  name)
CORBA::Any & CORBA::Request::add_out_arg ( void  )
CORBA::Any& CORBA::Request::add_out_arg ( const char *  name)
CORBA::NVList_ptr CORBA::Request::arguments ( void  )

Return the arguments for the request.

CORBA::ContextList_ptr CORBA::Request::contexts ( void  )

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

CORBA::Context_ptr CORBA::Request::ctx ( void  ) const

Accessor for the Context member.

void CORBA::Request::ctx ( CORBA::Context_ptr  ctx)

Mutator for the Context member.

CORBA::ExceptionList_ptr CORBA::Request::exceptions ( void  )

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 send_multiple_requests.

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

Return the operation name for the request.

CORBA::Boolean CORBA::Request::poll_response ( void  )
void CORBA::Request::raw_user_exception ( TAO_InputCDR cdr)

Hold on to a user exception in case we are part of a TAO gateway.

ACE_CString & CORBA::Request::raw_user_exception ( void  )

Accessor for the input stream containing the exception.

CORBA::Boolean CORBA::Request::response_received ( void  )

Proprietary method to check whether a response has been received.

CORBA::NamedValue_ptr CORBA::Request::result ( void  )

Return the result for the request.

CORBA::Any & CORBA::Request::return_value ( void  )

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)

Initialize the return type.

CORBA::Object_ptr CORBA::Request::target ( void  ) const

Return the target of this request.

Friends And Related Function Documentation

friend class ::TAO_Dynamic_Adapter_Impl
friend

Member Data Documentation

CORBA::NVList_ptr CORBA::Request::args_
private

Parameter list.

int CORBA::Request::byte_order_
private

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

CORBA::ContextList_ptr CORBA::Request::contexts_
private

List of the request's result's contexts.

CORBA::Context_ptr CORBA::Request::ctx_
private

Context associated with this request.

CORBA::ExceptionList_var CORBA::Request::exceptions_
private

List of exceptions raised by the operation.

Deprecated:
Holds exceptions.
CORBA::Flags CORBA::Request::flags_
private

Invocation flags.

bool CORBA::Request::lazy_evaluation_
private

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.

CORBA::ORB_var CORBA::Request::orb_
private

Pointer to our ORB.

ACE_CString CORBA::Request::raw_user_exception_
private

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.

CORBA::Boolean CORBA::Request::response_received_
private

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

CORBA::NamedValue_ptr CORBA::Request::result_
private

Result of the operation.

CORBA::Object_ptr CORBA::Request::target_
private

Target object.


The documentation for this class was generated from the following files: