#include <Tagged_Components.h>
Public Member Functions | |
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 |
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 and demarshal the list. | |
int | decode (TAO_InputCDR &cdr) |
IOP::MultipleComponentProfile & | components (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_ |
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.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Tagged_Components::TAO_Tagged_Components | ( | void | ) |
Constructor.
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 | ) | 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?
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 | |||
) | [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().
TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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?
CONV_FRAME::CodeSetComponentInfo TAO_Tagged_Components::code_sets_ [private] |
The ORB_TYPE component value.
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.