Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

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.

Public Methods

 TAO_Operation_Details (const char *name, CORBA::ULong len, CORBA::Boolean argument_flag, TAO::Argument **args=0, CORBA::ULong num_args=0, TAO::Exception_Data *ex_data=0, CORBA::Long ex_count=0)
 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)
 Get the response flags.

CORBA::Octet response_flags (void) const
IOP::ServiceContextListrequest_service_info (void)
 Accessors for the service context list.

const IOP::ServiceContextListrequest_service_info (void) const
IOP::ServiceContextListreply_service_info (void)
const IOP::ServiceContextListreply_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.

void modify_request_id (int originator)
 Modify request id's for a BiDirectional setup.

CORBA::ULong request_id (void) const
 Return the request ID associated with the operation.

TAO_Target_Specification::TAO_Target_Address addressing_mode (void)
 Accessor method for the addressing mode.

TAO_Target_Specification::TAO_Target_Address addressing_mode (void) const
void addressing_mode (CORBA::Short addr)
 Set method for the addressing mode.

CORBA::Exceptioncorba_exception (const char *ex ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
TAO::Argument ** args (void)
 Accessors for the argumet list.

CORBA::ULong args_num (void) const
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.

bool parameter_list (Dynamic::ParameterList &)
bool exception_list (Dynamic::ExceptionList &)
 Marshals the list of <this->arg_> into the cdr.

bool result (CORBA::Any *)
 Marshals the list of <this->arg_> into the cdr.


Private Attributes

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::Boolean argument_flag_
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_
TAO::Exception_Dataex_data_
 The type of exceptions that the operations can throw.

CORBA::ULong ex_count_
 Count of the exceptions that operations can throw.


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

ACE_INLINE TAO_Operation_Details::TAO_Operation_Details const char *    name,
CORBA::ULong    len,
CORBA::Boolean    argument_flag,
TAO::Argument **    args = 0,
CORBA::ULong    num_args = 0,
TAO::Exception_Data   ex_data = 0,
CORBA::Long    ex_count = 0
 

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
 

ACE_INLINE TAO_Target_Specification::TAO_Target_Address TAO_Operation_Details::addressing_mode void   
 

Accessor method for the addressing mode.

ACE_INLINE TAO::Argument ** TAO_Operation_Details::args void   
 

Accessors for the argumet list.

ACE_INLINE CORBA::ULong TAO_Operation_Details::args_num void    const
 

ACE_INLINE CORBA::Boolean TAO_Operation_Details::argument_flag void    const
 

Return the flag that indicates whether the operation has any arguments

CORBA::Exception* TAO_Operation_Details::corba_exception const char *ex    ACE_ENV_ARG_DECL 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.

bool TAO_Operation_Details::exception_list Dynamic::ExceptionList  
 

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

bool TAO_Operation_Details::marshal_args TAO_OutputCDR   cdr
 

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

ACE_INLINE void TAO_Operation_Details::modify_request_id int    originator
 

Modify request id's for a BiDirectional setup.

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.

bool TAO_Operation_Details::parameter_list Dynamic::ParameterList  
 

The following methods are used by client interceptors to extract the list of parameters passed by the operation, exceptions declared for the operation, and the result when available.

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
 

ACE_INLINE CORBA::Octet TAO_Operation_Details::response_flags void   
 

Get the response flags.

ACE_INLINE void TAO_Operation_Details::response_flags CORBA::Octet    flags
 

Set the response flags.

bool TAO_Operation_Details::result CORBA::Any  
 

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


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]
 

CORBA::Boolean TAO_Operation_Details::argument_flag_ [private]
 

Flag that indicates whether the operation has any arguments. If there are any arguments the flag will have a value of 1, 0 otherwise.

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.

CORBA::ULong TAO_Operation_Details::num_args_ [private]
 

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.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:34:59 2004 for TAO by doxygen1.2.18