TAO
2.1.6
|
Helper class for managing the service context list information. More...
#include <Service_Context.h>
Public Member Functions | |
TAO_Service_Context (void) | |
Constructor. | |
void | set_context (const IOP::ServiceContext &context) |
= Generic components | |
int | set_context (const IOP::ServiceContext &context, CORBA::Boolean replace) |
void | set_context (IOP::ServiceContext &context) |
int | get_context (IOP::ServiceContext &context) const |
int | get_context (IOP::ServiceId id, const IOP::ServiceContext **context) const |
int | get_context (IOP::ServiceId id, IOP::ServiceContext_out context) |
void | set_context (IOP::ServiceId id, TAO_OutputCDR &cdr) |
void | set_context (IOP::ServiceContext &context, TAO_OutputCDR &cdr) |
bool | is_service_id (IOP::ServiceId id) |
int | encode (TAO_OutputCDR &cdr) const |
= Marshaling and demarshaling the list | |
int | decode (TAO_InputCDR &cdr) |
IOP::ServiceContextList & | service_info (void) |
Return the underlying service context list. | |
const IOP::ServiceContextList & | service_info (void) const |
Private Member Functions | |
void | set_context_i (const IOP::ServiceContext &context) |
Helper methods to implement set_context() | |
void | set_context_i (IOP::ServiceContext &context) |
void | add_context_i (const IOP::ServiceContext &context) |
void | add_context_i (IOP::ServiceContext &context) |
void | set_context_i (IOP::ServiceId id, TAO_OutputCDR &cdr) |
void | set_context_i (IOP::ServiceContext &context, TAO_OutputCDR &cdr) |
int | get_context_i (IOP::ServiceContext &context) const |
Helper methods to implement get_context() | |
TAO_Service_Context (const TAO_Service_Context &) | |
TAO_Service_Context & | operator= (const TAO_Service_Context &) |
Private Attributes | |
IOP::ServiceContextList | service_context_ |
The ServiceContextList info. |
Friends | |
class | TAO::CSD::FW_Server_Request_Wrapper |
Helper class for managing the service context list information.
This class is used to manipulate and access the service context list that is passed around with every GIOP request/reply. The definition of the service context list is simply a sequence of the following structures: typedef unsigned long ServiceId; struct ServiceContext { ServiceId context_id; sequence <octet> context_data; }; typedef sequence <ServiceContext> ServiceContextList;
the real motivation behind this class is to consolidate all the marshalling and unmarshalling information pertaining to service context list
TAO_Service_Context::TAO_Service_Context | ( | void | ) |
Constructor.
|
private |
|
private |
|
private |
int TAO_Service_Context::decode | ( | TAO_InputCDR & | cdr | ) |
int TAO_Service_Context::encode | ( | TAO_OutputCDR & | cdr | ) | const |
= Marshaling and demarshaling the list
int TAO_Service_Context::get_context | ( | IOP::ServiceContext & | context | ) | const |
Get a copy of the context identified by <context.context_id>, return 0 if the component is not present.
int TAO_Service_Context::get_context | ( | IOP::ServiceId | id, |
const IOP::ServiceContext ** | context | ||
) | const |
Get a reference to a context identified by id, return 0 if the component is not present.
int TAO_Service_Context::get_context | ( | IOP::ServiceId | id, |
IOP::ServiceContext_out | context | ||
) |
Get a copy of the Service Context corresponding to the given ServiceId. The caller owns the returned Service Context.
|
private |
Helper methods to implement get_context()
bool TAO_Service_Context::is_service_id | ( | IOP::ServiceId | id | ) |
Is the id available in the underlying service context list? If so return true, else return false
|
private |
IOP::ServiceContextList & TAO_Service_Context::service_info | ( | void | ) |
Return the underlying service context list.
const IOP::ServiceContextList & TAO_Service_Context::service_info | ( | void | ) | const |
void TAO_Service_Context::set_context | ( | const IOP::ServiceContext & | context | ) |
= Generic components
Insert the component into the list, making a copy of the octet sequence.
int TAO_Service_Context::set_context | ( | const IOP::ServiceContext & | context, |
CORBA::Boolean | replace | ||
) |
Insert the component into the list, making a copy of the octet sequence. Search the list before insertion so that the insertion does not cause a duplicate context to be in the list. If the replace flag is true, update the specified context. Return 0 if the component was present and the replace flag was not set to true.
void TAO_Service_Context::set_context | ( | IOP::ServiceContext & | context | ) |
Insert the component into the list, but efficiently stealing the contents of the octet sequence.
void TAO_Service_Context::set_context | ( | IOP::ServiceId | id, |
TAO_OutputCDR & | cdr | ||
) |
Set the context from the CDR stream and add that to the service Context list
void TAO_Service_Context::set_context | ( | IOP::ServiceContext & | context, |
TAO_OutputCDR & | cdr | ||
) |
Set the context from the CDR stream and return the context back to the caller. Does not modify the underlying service context list.
|
private |
Helper methods to implement set_context()
|
private |
|
private |
|
private |
|
friend |
Declare FW_Server_Request_Wrapper a friend This friendship makes the FW_Server_Request_Wrapper be able to clone the TAO_Service_Context data member in TAO_ServerRequest.
|
private |
The ServiceContextList info.