TAO_Tagged_Components Class Reference

The policy manager implementation. More...

#include <Tagged_Components.h>

Collaboration diagram for TAO_Tagged_Components:

Collaboration graph
List of all members.

Public Member Functions

 TAO_Tagged_Components (void)
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
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, CORBA::ULong start=0) const
int remove_component (IOP::ComponentId id)
int encode (TAO_OutputCDR &cdr) const
 Marshal and demarshal the list.
int decode (TAO_InputCDR &cdr)
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().
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 remove_known_component_i (IOP::ComponentId tag)
 Helper methods to implement remove_component().
int remove_component_i (IOP::ComponentId tag)
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_
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   ) 


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  )  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 *&   )  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,
CORBA::ULong  start = 0

Get a copy of the component identified by <component.tag>, return 0 if the component is not present. The optional start value allows repeated queries for the same tagged component to step through the list. Returns the index of the next component on success.

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?

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 CONV_FRAME::CodeSetComponentInfo  ) 

void TAO_Tagged_Components::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.

void TAO_Tagged_Components::set_code_sets_i CONV_FRAME::CodeSetComponent lhs,
CONV_FRAME::CodeSetComponent rhs

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

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 Wed Nov 23 16:04:04 2005 for TAO by  doxygen 1.4.5