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

TAO_Tagged_Components Class Reference

The policy manager implementation. More...

#include <Tagged_Components.h>

Collaboration diagram for TAO_Tagged_Components:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Tagged_Components (void)
 Constructor. More...

void set_orb_type (CORBA::ULong orb_type)
 The the IOP::TAG_ORB_TYPE component value. More...

int get_orb_type (CORBA::ULong &orb_type) const
 Gets the IOP::TAG_ORB_TYPE component value, return 0 if the component is not present. More...

void set_code_sets (const CONV_FRAME::CodeSetComponentInfo &)
 The the IOP::TAG_CODE_SETS component value, the first version copies the data, the second version steal all the sequence buffers. More...

void set_code_sets (CONV_FRAME::CodeSetComponentInfo &)
int get_code_sets (const CONV_FRAME::CodeSetComponentInfo *&) const
 Gets a reference of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present. More...

int get_code_sets (CONV_FRAME::CodeSetComponentInfo &) const
 Gets a copy of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present. More...

void set_component (const IOP::TaggedComponent &component)
 Insert the component into the list, making a copy of the octet sequence. More...

void set_component (IOP::TaggedComponent &component)
 Insert the component into the list, but efficiently stealing the contents of the octet sequence. More...

int get_component (IOP::TaggedComponent &component) const
 Get a copy of the component identified by <component.tag>, return 0 if the component is not present. More...

int encode (TAO_OutputCDR &cdr) const
 Marshal and demarshal the list. More...

int decode (TAO_InputCDR &cdr)
IOP::MultipleComponentProfilecomponents (void)
 Read/Write access to the underlying MutipleComponentProfile. More...


Private Methods

void set_code_sets_i (CONV_FRAME::CodeSetComponent &lhs, CONV_FRAME::CodeSetComponent &rhs)
 Helper method to implement set_code_sets(). More...

void set_known_component_i (const IOP::TaggedComponent &component)
 Helper methods to implement set_component(). More...

void set_component_i (const IOP::TaggedComponent &component)
void set_component_i (IOP::TaggedComponent &component)
void add_component_i (const IOP::TaggedComponent &component)
void add_component_i (IOP::TaggedComponent &component)
void set_component_i (IOP::ComponentId tag, TAO_OutputCDR &cdr)
int get_known_component_i (IOP::TaggedComponent &component) const
 Helper methods to implement set_component(). More...

int get_component_i (IOP::TaggedComponent &component) const
int known_tag (IOP::ComponentId tag) const
 Is <tag> a well-known component? More...

int unique_tag (IOP::ComponentId tag) const
 Does <tag> show up only once? More...


Private Attributes

CORBA::ULong orb_type_
 The ORB_TYPE component value. More...

CONV_FRAME::CodeSetComponentInfo code_sets_
 The ORB_TYPE component value. More...

IOP::MultipleComponentProfile components_
 The rest of the components, to be compliant we cannot drop a bunch of them. More...

CORBA::Octet orb_type_set_
CORBA::Octet code_sets_set_

Detailed Description

The policy manager implementation.

This class is used to manipulate and access the <components> field of an IIOP profile (and other GIOP profiles). The definition for that field is simply a sequence of the following structures: typedef unsigned long ComponentId; struct TaggedComponent { ComponentId tag; sequence<octet> component_data; }; the real motivation is to minimize the marshaling and demarshaling of the <component_data> field for certain critical components.


Constructor & Destructor Documentation

ACE_INLINE TAO_Tagged_Components::TAO_Tagged_Components void   
 

Constructor.


Member Function Documentation

void TAO_Tagged_Components::add_component_i IOP::TaggedComponent   component [private]
 

void TAO_Tagged_Components::add_component_i const IOP::TaggedComponent   component [private]
 

ACE_INLINE IOP::MultipleComponentProfile & TAO_Tagged_Components::components void   
 

Read/Write access to the underlying MutipleComponentProfile.

Added by request from Chris Hafey <[email protected]>

int TAO_Tagged_Components::decode TAO_InputCDR   cdr
 

int TAO_Tagged_Components::encode TAO_OutputCDR   cdr const
 

Marshal and demarshal the list.

ACE_INLINE int TAO_Tagged_Components::get_code_sets CONV_FRAME::CodeSetComponentInfo   ci const
 

Gets a copy of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present.

ACE_INLINE int TAO_Tagged_Components::get_code_sets const CONV_FRAME::CodeSetComponentInfo *&    ci const
 

Gets a reference of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present.

int TAO_Tagged_Components::get_component IOP::TaggedComponent   component const
 

Get a copy of the component identified by <component.tag>, return 0 if the component is not present.

int TAO_Tagged_Components::get_component_i IOP::TaggedComponent   component const [private]
 

int TAO_Tagged_Components::get_known_component_i IOP::TaggedComponent   component const [private]
 

Helper methods to implement set_component().

ACE_INLINE int TAO_Tagged_Components::get_orb_type CORBA::ULong   orb_type const
 

Gets the IOP::TAG_ORB_TYPE component value, return 0 if the component is not present.

ACE_INLINE int TAO_Tagged_Components::known_tag IOP::ComponentId    tag const [private]
 

Is <tag> a well-known component?

void TAO_Tagged_Components::set_code_sets CONV_FRAME::CodeSetComponentInfo   ci
 

void TAO_Tagged_Components::set_code_sets const CONV_FRAME::CodeSetComponentInfo   ci
 

The the IOP::TAG_CODE_SETS component value, the first version copies the data, the second version steal all the sequence buffers.

void TAO_Tagged_Components::set_code_sets_i CONV_FRAME::CodeSetComponent   lhs,
CONV_FRAME::CodeSetComponent   rhs
[private]
 

Helper method to implement set_code_sets().

void TAO_Tagged_Components::set_component IOP::TaggedComponent   component
 

Insert the component into the list, but efficiently stealing the contents of the octet sequence.

void TAO_Tagged_Components::set_component const IOP::TaggedComponent   component
 

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

void TAO_Tagged_Components::set_component_i IOP::ComponentId    tag,
TAO_OutputCDR   cdr
[private]
 

void TAO_Tagged_Components::set_component_i IOP::TaggedComponent   component [private]
 

void TAO_Tagged_Components::set_component_i const IOP::TaggedComponent   component [private]
 

void TAO_Tagged_Components::set_known_component_i const IOP::TaggedComponent   component [private]
 

Helper methods to implement set_component().

void TAO_Tagged_Components::set_orb_type CORBA::ULong    orb_type
 

The the IOP::TAG_ORB_TYPE component value.

ACE_INLINE int TAO_Tagged_Components::unique_tag IOP::ComponentId    tag const [private]
 

Does <tag> show up only once?


Member Data Documentation

CONV_FRAME::CodeSetComponentInfo TAO_Tagged_Components::code_sets_ [private]
 

The ORB_TYPE component value.

CORBA::Octet TAO_Tagged_Components::code_sets_set_ [private]
 

IOP::MultipleComponentProfile TAO_Tagged_Components::components_ [private]
 

The rest of the components, to be compliant we cannot drop a bunch of them.

CORBA::ULong TAO_Tagged_Components::orb_type_ [private]
 

The ORB_TYPE component value.

CORBA::Octet TAO_Tagged_Components::orb_type_set_ [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 18:52:45 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001