#include <Tagged_Components.h>
Collaboration diagram for TAO_Tagged_Components:
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_ |
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.
|
|
|
|
|
|
Read/Write access to the underlying MutipleComponentProfile. Added by request from Chris Hafey <chris@stentorsoft.com> |
|
|
|
Marshal and demarshal the list.
|
|
Gets a copy of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present.
|
|
Gets a reference of the IOP::TAG_CODE_SETS component value, return 0 if the component is not present.
|
|
Get a copy of the component identified by <component.tag>, return 0 if the component is not present.
|
|
|
|
Helper methods to implement set_component().
|
|
Gets the IOP::TAG_ORB_TYPE component value, return 0 if the component is not present.
|
|
Is <tag> a well-known component?
|
|
|
|
The the IOP::TAG_CODE_SETS component value, the first version copies the data, the second version steal all the sequence buffers. |
|
Helper method to implement set_code_sets().
|
|
Insert the component into the list, but efficiently stealing the contents of the octet sequence.
|
|
Insert the component into the list, making a copy of the octet sequence.
|
|
|
|
|
|
|
|
Helper methods to implement set_component().
|
|
The the IOP::TAG_ORB_TYPE component value.
|
|
Does <tag> show up only once?
|
|
The ORB_TYPE component value.
|
|
|
|
The rest of the components, to be compliant we cannot drop a bunch of them.
|
|
The ORB_TYPE component value.
|
|
|