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

TAO_Service_Context Class Reference

Helper class for managing the service context list information. More...

#include <Service_Context.h>

Collaboration diagram for TAO_Service_Context:

Collaboration graph
[legend]
List of all members.

Public Methods

 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)
int is_service_id (IOP::ServiceId id)
int encode (TAO_OutputCDR &cdr) const
 = Marshaling and demarshaling the list

int decode (TAO_InputCDR &cdr)
IOP::ServiceContextListservice_info (void)
 Return the underlying service context list.

const IOP::ServiceContextListservice_info (void) const

Private Methods

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().


Private Attributes

IOP::ServiceContextList service_context_
 The ServiceContextList info.


Detailed Description

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

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.


Constructor & Destructor Documentation

ACE_INLINE TAO_Service_Context::TAO_Service_Context void   
 

Constructor.


Member Function Documentation

void TAO_Service_Context::add_context_i IOP::ServiceContext   context [private]
 

void TAO_Service_Context::add_context_i const IOP::ServiceContext   context [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::ServiceId    id,
IOP::ServiceContext_out    context
 

Returns:
0 If a Service Context with the given ServiceId doesn't exist.

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::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_i IOP::ServiceContext   context const [private]
 

Helper methods to implement get_context().

ACE_INLINE int TAO_Service_Context::is_service_id IOP::ServiceId    id
 

Is the <id> available in the underlying service context list? If so return 1, else return 0

ACE_INLINE const IOP::ServiceContextList & TAO_Service_Context::service_info void    const
 

ACE_INLINE IOP::ServiceContextList & TAO_Service_Context::service_info void   
 

Return the underlying service context list.

ACE_INLINE 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.

ACE_INLINE 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
 

Insert the component into the list, but efficiently stealing the contents 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 const IOP::ServiceContext   context
 

= Generic components

Insert the component into the list, making a copy of the octet sequence.

void TAO_Service_Context::set_context_i IOP::ServiceContext   context,
TAO_OutputCDR   cdr
[private]
 

void TAO_Service_Context::set_context_i IOP::ServiceId    id,
TAO_OutputCDR   cdr
[private]
 

void TAO_Service_Context::set_context_i IOP::ServiceContext   context [private]
 

void TAO_Service_Context::set_context_i const IOP::ServiceContext   context [private]
 

Helper methods to implement set_context().


Member Data Documentation

IOP::ServiceContextList TAO_Service_Context::service_context_ [private]
 

The ServiceContextList info.


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 23:31:30 2004 for TAO by doxygen1.2.18