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:

[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::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_Context & | request_service_context (void)
| Access the TAO_Service_Context.
const TAO_Service_Context & | request_service_context (void) const
TAO_Service_Context & | reply_service_context (void)
const TAO_Service_Context & | reply_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::Exception * | corba_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_Data * | ex_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:

- operation_details.h
- operation_details.cpp
- operation_details.i