TAO  2.1.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_Tagged_Components Class Reference

The policy manager implementation. More...

#include <Tagged_Components.h>

Collaboration diagram for TAO_Tagged_Components:
Collaboration graph

Public Member Functions

 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
 
void set_code_sets (const CONV_FRAME::CodeSetComponentInfo &)
 
void set_code_sets (CONV_FRAME::CodeSetComponentInfo &)
 
int get_code_sets (const CONV_FRAME::CodeSetComponentInfo *&) const
 
int get_code_sets (CONV_FRAME::CodeSetComponentInfo &) const
 
void set_component (const IOP::TaggedComponent &component)
 
void set_component (IOP::TaggedComponent &component)
 
int get_component (IOP::TaggedComponent &component) const
 
int remove_component (IOP::ComponentId id)
 
int encode (TAO_OutputCDR &cdr) const
 Marshal the list. More...
 
int decode (TAO_InputCDR &cdr)
 Demarshal the list. More...
 
IOP::MultipleComponentProfilecomponents (void)
 

Private Member Functions

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 remove_known_component_i (IOP::ComponentId tag)
 Helper methods to implement remove_component() More...
 
int remove_component_i (IOP::ComponentId tag)
 
int get_known_component_i (IOP::TaggedComponent &component) const
 Helper methods to implement set_component() More...
 
int get_component_i (IOP::TaggedComponent &component) const
 
bool known_tag (IOP::ComponentId tag) const
 Is tag a well-known component? More...
 
bool 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_
 
CORBA::Octet orb_type_set_
 A flag for each component... More...
 
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

TAO_Tagged_Components::TAO_Tagged_Components ( void  )

Constructor.

Member Function Documentation

void TAO_Tagged_Components::add_component_i ( const IOP::TaggedComponent &  component)
private
void TAO_Tagged_Components::add_component_i ( IOP::TaggedComponent &  component)
private
IOP::MultipleComponentProfile & TAO_Tagged_Components::components ( void  )

Read/Write access to the underlying MutipleComponentProfile. Added by request from Chris Hafey chris.nosp@m.@ste.nosp@m.ntors.nosp@m.oft..nosp@m.com

int TAO_Tagged_Components::decode ( TAO_InputCDR cdr)

Demarshal the list.

int TAO_Tagged_Components::encode ( TAO_OutputCDR cdr) const

Marshal the list.

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

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

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.

bool TAO_Tagged_Components::known_tag ( IOP::ComponentId  tag) const
private

Is tag a well-known component?

int TAO_Tagged_Components::remove_component ( IOP::ComponentId  id)

Remove a component, if present. Return number of components removed.

int TAO_Tagged_Components::remove_component_i ( IOP::ComponentId  tag)
private
int TAO_Tagged_Components::remove_known_component_i ( IOP::ComponentId  tag)
private

Helper methods to implement remove_component()

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 ( CONV_FRAME::CodeSetComponentInfo &  ci)
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 ( const IOP::TaggedComponent &  component)

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

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_i ( const IOP::TaggedComponent &  component)
private
void TAO_Tagged_Components::set_component_i ( IOP::TaggedComponent &  component)
private
void TAO_Tagged_Components::set_component_i ( IOP::ComponentId  tag,
TAO_OutputCDR cdr 
)
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.

bool 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

A flag for each component...


The documentation for this class was generated from the following files: