Public Methods |
| TAO_Service_Context (void) |
| Constructor. More...
|
void | set_context (const IOP::ServiceContext &context) |
| = Generic components Insert the component into the list, making a copy of the octet sequence. More...
|
int | 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. More...
|
void | set_context (IOP::ServiceContext &context) |
| Insert the component into the list, but efficiently stealing the contents of the octet sequence. More...
|
int | 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. More...
|
int | 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. More...
|
int | get_context (IOP::ServiceId id, IOP::ServiceContext_out context) |
void | set_context (IOP::ServiceId id, TAO_OutputCDR &cdr) |
| Set the context from the CDR stream and add that to the service Context list. More...
|
void | 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. More...
|
int | is_service_id (IOP::ServiceId id) |
| Is the <id> available in the underlying service context list? If so return 1, else return 0. More...
|
int | encode (TAO_OutputCDR &cdr) const |
| = Marshaling and demarshaling the list. More...
|
int | decode (TAO_InputCDR &cdr) |
IOP::ServiceContextList & | service_info (void) |
| Return the underlying service context list. More...
|
const IOP::ServiceContextList & | service_info (void) const |
Private Methods |
void | set_context_i (const IOP::ServiceContext &context) |
| Helper methods to implement set_context(). More...
|
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(). More...
|
Private Attributes |
IOP::ServiceContextList | service_context_ |
| The ServiceContextList info. More...
|
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
Note: Somewhere down the line we may want to use this class for fast access to the info that we need from the Service Context List.