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:

[legend]
List of all members.

## Public Methods
| TAO_Tagged_Components (void)
| Constructor.
void | set_orb_type (CORBA::ULong orb_type)
| The the IOP::TAG_ORB_TYPE component value.
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.
void | set_code_sets (const CONV_FRAME::CodeSetComponentInfo &)
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.
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.
void | set_component (const IOP::TaggedComponent& component)
| Insert the component into the list, making a copy of the octet sequence.
void | set_component (IOP::TaggedComponent& component)
| Insert the component into the list, but efficiently stealing the contents of the octet sequence.
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.
int | encode (TAO_OutputCDR& cdr) const
| Marshal and demarshal the list.
int | decode (TAO_InputCDR& cdr)
IOP::MultipleComponentProfile& | components (void)
## Private Methods
void | set_code_sets_i (CONV_FRAME::CodeSetComponent &lhs, CONV_FRAME::CodeSetComponent &rhs)
| Helper method to implement set_code_sets().
void | set_known_component_i (const IOP::TaggedComponent& component)
| Helper methods to implement set_component().
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().
int | get_component_i (IOP::TaggedComponent& component) const
int | known_tag (IOP::ComponentId tag) const
| Is <tag> a well-known component?
int | unique_tag (IOP::ComponentId tag) const
| Does <tag> show up only once?
## Private Attributes
CORBA::ULong | orb_type_
| The ORB_TYPE component value.
CONV_FRAME::CodeSetComponentInfo | code_sets_
| The ORB_TYPE component value.
IOP::MultipleComponentProfile | components_
| The rest of the components, to be compliant we cannot drop a bunch of them.
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 <chris@stentorsoft.com>

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 )`[inline]`

| 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:

- Tagged_Components.h
- Tagged_Components.cpp
- Tagged_Components.i