TAO_Operation_Details Class Reference

Class with operation details. More...

#include <operation_details.h>

Collaboration diagram for TAO_Operation_Details:

Collaboration graph
[legend]
List of all members.

Helper methods used by the Invocation classes.

bool marshal_args (TAO_OutputCDR &cdr)
 Marshals the list of <this->arg_> into the cdr.
bool demarshal_args (TAO_InputCDR &cdr)
 Demarshals the list of <this->arg_> into the cdr.
TAO::Argument ** args (void) const
 Accessors for the argument list.
CORBA::ULong args_num (void) const
 Marshals the list of <this->arg_> into the cdr.
CORBA::ULong ex_count (void) const
 Exception count.
TAO::Exception_Data const * ex_data (void) const
 Marshals the list of <this->arg_> into the cdr.
CORBA::Boolean use_stub_args (void) const
 Marshals the list of <this->arg_> into the cdr.
void use_stub_args (CORBA::Boolean use_stub_arguments)
 Marshals the list of <this->arg_> into the cdr.
void ft_expiration_time (TimeBase::TimeT time)
 Marshals the list of <this->arg_> into the cdr.
TimeBase::TimeT ft_expiration_time (void) const
 Marshals the list of <this->arg_> into the cdr.
void ft_retention_id (CORBA::Long request_id)
 Marshals the list of <this->arg_> into the cdr.
CORBA::Long ft_retention_id (void) const
 Marshals the list of <this->arg_> into the cdr.
CORBA::Boolean is_dii_request (void) const
 Accessor for is_dii_request_ flag.
const char * opname_
 Name of the operation being invoked.
CORBA::ULong opname_len_
 Precalculated length of opname_.
CORBA::ULong request_id_
 Request ID of this operation.
CORBA::Octet response_flags_
 Response flags.
TAO_Service_Context request_service_info_
TAO_Service_Context reply_service_info_
TAO_Target_Specification::TAO_Target_Address addressing_mode_
 Addressing mode for this request.
TAO::Argument ** args_
CORBA::ULong num_args_
 Number of arguments including the return value.
TAO::Exception_Data * ex_data_
 The type of exceptions that the operations can throw.
CORBA::ULong ex_count_
 Count of the exceptions that operations can throw.
CORBA::Boolean use_stub_args_
TimeBase::TimeT ft_expiration_time_
 FT request expiration time (absolute gregorian).
CORBA::Long ft_retention_id_
 FT request retention id.
CORBA::Boolean is_dii_request_
 The dii request flag.

Public Member Functions

 TAO_Operation_Details (const char *name, CORBA::ULong len, TAO::Argument **args=0, CORBA::ULong num_args=0, TAO::Exception_Data *ex_data=0, CORBA::ULong ex_count=0, CORBA::Boolean is_dii_request=false)
 Constructor.
const char * opname (void) const
 Operation name.
CORBA::ULong opname_len (void) const
 Length of the operation name.
CORBA::Boolean argument_flag (void) const
void response_flags (CORBA::Octet flags)
 Set the response flags.
CORBA::Octet response_flags (void) const
 Get the response flags.
IOP::ServiceContextList & request_service_info (void)
 Accessors for the service context list.
const IOP::ServiceContextList & request_service_info (void) const
IOP::ServiceContextList & reply_service_info (void)
const IOP::ServiceContextList & reply_service_info (void) const
TAO_Service_Contextrequest_service_context (void)
 Access the TAO_Service_Context.
const TAO_Service_Contextrequest_service_context (void) const
TAO_Service_Contextreply_service_context (void)
const TAO_Service_Contextreply_service_context (void) const
void reset_request_service_info (void)
void reset_reply_service_info (void)
void request_id (CORBA::ULong id)
 Cache the request id.
CORBA::ULong request_id (void) const
 Return the request ID associated with the operation.
TAO_Target_Specification::TAO_Target_Address addressing_mode (void) const
 Accessor method for the addressing mode.
void addressing_mode (CORBA::Short addr)
 Set method for the addressing mode.
CORBA::Exceptioncorba_exception (const char *ex) throw (CORBA::SystemException)

Friends

class TAO::CSD::FW_Server_Request_Wrapper

Detailed Description

Class with operation details.

This class stores some of the "operation" details that would be required by the invocation classes. This class is in its infancy now but I expect this one to grow as we come with different varieties of use cases.

Todo:
Put this in namespace TAO.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Operation_Details::TAO_Operation_Details ( const char *  name,
CORBA::ULong  len,
TAO::Argument **  args = 0,
CORBA::ULong  num_args = 0,
TAO::Exception_Data *  ex_data = 0,
CORBA::ULong  ex_count = 0,
CORBA::Boolean  is_dii_request = false 
)

Constructor.


Member Function Documentation

ACE_INLINE void TAO_Operation_Details::addressing_mode ( CORBA::Short  addr  ) 

Set method for the addressing mode.

ACE_INLINE TAO_Target_Specification::TAO_Target_Address TAO_Operation_Details::addressing_mode ( void   )  const

Accessor method for the addressing mode.

ACE_INLINE TAO::Argument ** TAO_Operation_Details::args ( void   )  const

Accessors for the argument list.

ACE_INLINE CORBA::ULong TAO_Operation_Details::args_num ( void   )  const

Marshals the list of <this->arg_> into the cdr.

ACE_INLINE CORBA::Boolean TAO_Operation_Details::argument_flag ( void   )  const

Return the flag that indicates whether the operation has any arguments

TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::Exception * TAO_Operation_Details::corba_exception ( const char *  ex  )  throw (CORBA::SystemException)

This step is important to decode the exception that the client got from the server. If the exception received from the server is not found in the list of exceptions specified by the operation this call would raise an UNKNOWN exception.

bool TAO_Operation_Details::demarshal_args ( TAO_InputCDR cdr  ) 

Demarshals the list of <this->arg_> into the cdr.

ACE_INLINE CORBA::ULong TAO_Operation_Details::ex_count ( void   )  const

Exception count.

ACE_INLINE TAO::Exception_Data const * TAO_Operation_Details::ex_data ( void   )  const

Marshals the list of <this->arg_> into the cdr.

TimeBase::TimeT TAO_Operation_Details::ft_expiration_time ( void   )  const

Marshals the list of <this->arg_> into the cdr.

void TAO_Operation_Details::ft_expiration_time ( TimeBase::TimeT  time  ) 

Marshals the list of <this->arg_> into the cdr.

CORBA::Long TAO_Operation_Details::ft_retention_id ( void   )  const

Marshals the list of <this->arg_> into the cdr.

void TAO_Operation_Details::ft_retention_id ( CORBA::Long  request_id  ) 

Marshals the list of <this->arg_> into the cdr.

ACE_INLINE CORBA::Boolean TAO_Operation_Details::is_dii_request ( void   )  const

Accessor for is_dii_request_ flag.

bool TAO_Operation_Details::marshal_args ( TAO_OutputCDR cdr  ) 

Marshals the list of <this->arg_> into the cdr.

ACE_INLINE const char * TAO_Operation_Details::opname ( void   )  const

Operation name.

ACE_INLINE CORBA::ULong TAO_Operation_Details::opname_len ( void   )  const

Length of the operation name.

ACE_INLINE const TAO_Service_Context & TAO_Operation_Details::reply_service_context ( void   )  const

ACE_INLINE TAO_Service_Context & TAO_Operation_Details::reply_service_context ( void   ) 

ACE_INLINE const IOP::ServiceContextList & TAO_Operation_Details::reply_service_info ( void   )  const

ACE_INLINE IOP::ServiceContextList & TAO_Operation_Details::reply_service_info ( void   ) 

ACE_INLINE CORBA::ULong TAO_Operation_Details::request_id ( void   )  const

Return the request ID associated with the operation.

ACE_INLINE void TAO_Operation_Details::request_id ( CORBA::ULong  id  ) 

Cache the request id.

ACE_INLINE const TAO_Service_Context & TAO_Operation_Details::request_service_context ( void   )  const

ACE_INLINE TAO_Service_Context & TAO_Operation_Details::request_service_context ( void   ) 

Access the TAO_Service_Context.

ACE_INLINE const IOP::ServiceContextList & TAO_Operation_Details::request_service_info ( void   )  const

ACE_INLINE IOP::ServiceContextList & TAO_Operation_Details::request_service_info ( void   ) 

Accessors for the service context list.

ACE_INLINE void TAO_Operation_Details::reset_reply_service_info ( void   ) 

ACE_INLINE void TAO_Operation_Details::reset_request_service_info ( void   ) 

Reset the contents of the service context lists that we hold.

ACE_INLINE CORBA::Octet TAO_Operation_Details::response_flags ( void   )  const

Get the response flags.

ACE_INLINE void TAO_Operation_Details::response_flags ( CORBA::Octet  flags  ) 

Set the response flags.

ACE_INLINE void TAO_Operation_Details::use_stub_args ( CORBA::Boolean  use_stub_arguments  ) 

Marshals the list of <this->arg_> into the cdr.

ACE_INLINE CORBA::Boolean TAO_Operation_Details::use_stub_args ( void   )  const

Marshals the list of <this->arg_> into the cdr.


Friends And Related Function Documentation

friend class TAO::CSD::FW_Server_Request_Wrapper [friend]

Declare FW_Server_Request_Wrapper a friend This friendship makes the FW_Server_Request_Wrapper be able to clone the TAO_Operation_Details data member in TAO_ServerRequest.


Member Data Documentation

TAO_Target_Specification::TAO_Target_Address TAO_Operation_Details::addressing_mode_ [private]

Addressing mode for this request.

TAO::Argument** TAO_Operation_Details::args_ [private]

The arguments of this operation. Note that the return value is also an argument

CORBA::ULong TAO_Operation_Details::ex_count_ [private]

Count of the exceptions that operations can throw.

TAO::Exception_Data* TAO_Operation_Details::ex_data_ [private]

The type of exceptions that the operations can throw.

TimeBase::TimeT TAO_Operation_Details::ft_expiration_time_ [private]

FT request expiration time (absolute gregorian).

CORBA::Long TAO_Operation_Details::ft_retention_id_ [private]

FT request retention id.

CORBA::Boolean TAO_Operation_Details::is_dii_request_ [private]

The dii request flag.

CORBA::ULong TAO_Operation_Details::num_args_ [private]

Number of arguments including the return value.

const char* TAO_Operation_Details::opname_ [private]

Name of the operation being invoked.

CORBA::ULong TAO_Operation_Details::opname_len_ [private]

Precalculated length of opname_.

TAO_Service_Context TAO_Operation_Details::reply_service_info_ [private]

The ServiceContextList received from the server side. Only valid when sending a request.

CORBA::ULong TAO_Operation_Details::request_id_ [private]

Request ID of this operation.

TAO_Service_Context TAO_Operation_Details::request_service_info_ [private]

The ServiceContextList sent to the server side. Only valid when sending a request.

CORBA::Octet TAO_Operation_Details::response_flags_ [private]

Response flags.

CORBA::Boolean TAO_Operation_Details::use_stub_args_ [private]

Boolean flag to indicate whether in the skeletons the stub arguments stored in these operation details should be used or not.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:38:14 2006 for TAO by  doxygen 1.4.7-1