TAO_DynamicAny  2.1.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
TAO_DynValue_i Class Reference

Implementation of the DynValue class. More...

#include <DynValue_i.h>

Inheritance diagram for TAO_DynValue_i:
Inheritance graph
[legend]
Collaboration diagram for TAO_DynValue_i:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_DynValue_i (CORBA::Boolean allow_truncation=true)
 Constructor.
 ~TAO_DynValue_i (void)
 Destructor.
void init (const CORBA::Any &any)
 Initialize using an Any.
void init (CORBA::TypeCode_ptr tc, TAO_InputCDR &in)
 Initialize using a TypeCode and an input stream.
void init (CORBA::TypeCode_ptr tc)
 Initialize using just a TypeCode.
virtual DynamicAny::FieldName current_member_name (void)
virtual CORBA::TCKind current_member_kind (void)
virtual
DynamicAny::NameValuePairSeq
get_members (void)
virtual void set_members (const DynamicAny::NameValuePairSeq &value)
virtual
DynamicAny::NameDynAnyPairSeq
get_members_as_dyn_any (void)
virtual void set_members_as_dyn_any (const DynamicAny::NameDynAnyPairSeq &value)
virtual void from_any (const CORBA::Any &value)
virtual CORBA::Any * to_any (void)
virtual CORBA::Boolean equal (DynamicAny::DynAny_ptr dyn_any)
virtual void destroy (void)
virtual DynamicAny::DynAny_ptr current_component (void)
virtual void insert_val (CORBA::ValueBase *value)
virtual CORBA::ValueBase * get_val (void)
virtual void set_to_value (void)

Static Public Member Functions

static TAO_DynValue_i_narrow (CORBA::Object_ptr obj)

Private Types

typedef ACE_Array_Base
< CORBA::TypeCode_var
BaseTypesList_t
 List of base types.

Private Member Functions

void check_typecode (CORBA::TypeCode_ptr tc)
 Check if the typecode is acceptable.
void init_helper (CORBA::TypeCode_ptr tc)
void from_any_helper (const CORBA::Any &any)
void to_outputCDR (TAO_OutputCDR &)
 Write the value to the output stream.
void from_inputCDR (TAO_InputCDR &)
 Read the value from the input stream.
 TAO_DynValue_i (const TAO_DynValue_i &src)
TAO_DynValue_ioperator= (const TAO_DynValue_i &src)

Static Private Member Functions

static void get_base_types (CORBA::TypeCode_ptr, BaseTypesList_t &, CORBA::ULong *total_member_count=0)
static CORBA::TypeCode_ptr get_correct_base_type (const BaseTypesList_t &base_types, CORBA::ULong &index)
static CORBA::TypeCode_ptr get_member_type (const BaseTypesList_t &, CORBA::ULong index)
static const char * get_member_name (const BaseTypesList_t &, CORBA::ULong index)

Private Attributes

ACE_Array_Base
< DynamicAny::DynAny_var
da_members_
 Each component of DynValue and DynValueBox is also a DynAny.
BaseTypesList_t da_base_types_

Detailed Description

Implementation of the DynValue class.


Member Typedef Documentation

List of base types.


Constructor & Destructor Documentation

TAO_DynValue_i::TAO_DynValue_i ( CORBA::Boolean  allow_truncation = true)

Constructor.

Destructor.

These are not implimented! Use copy() or assign() instead of these.


Member Function Documentation

Reimplemented from TAO_DynValueCommon_i.

Check if the typecode is acceptable.

Implements TAO_DynValueCommon_i.

Reimplemented from TAO_DynAny_i.

Implements DynamicAny::DynValue.

Implements DynamicAny::DynValue.

void TAO_DynValue_i::destroy ( void  )
virtual

Reimplemented from TAO_DynAny_i.

Reimplemented from TAO_DynAny_i.

void TAO_DynValue_i::from_any ( const CORBA::Any &  value)
virtual

Reimplemented from TAO_DynAny_i.

void TAO_DynValue_i::from_any_helper ( const CORBA::Any &  any)
private

Code common to the init(Any) and the member function from_any().

void TAO_DynValue_i::from_inputCDR ( TAO_InputCDR strm)
private

Read the value from the input stream.

void TAO_DynValue_i::get_base_types ( CORBA::TypeCode_ptr  tc,
BaseTypesList_t base_types,
CORBA::ULong total_member_count = 0 
)
staticprivate

Decompose the given TypeCode into its hiarchical list of basetypes. The first element of the list is our actual type, each basetype follows in order backwards down the hiarchy. All types stored in the list are de-aliased. Optionally return the total_member_count of the fully derived type.

CORBA::TypeCode_ptr TAO_DynValue_i::get_correct_base_type ( const BaseTypesList_t base_types,
CORBA::ULong index 
)
staticprivate

Return the unaliased valuetype typecode that corresponds to index (0..total_members-1) from the given hiarchical list of the derived type and it basetypes.

const char * TAO_DynValue_i::get_member_name ( const BaseTypesList_t base_types,
CORBA::ULong  index 
)
staticprivate

Return the member_name at index (0..total_members-1) from the given hiarchical list of the derived type and it basetypes.

CORBA::TypeCode_ptr TAO_DynValue_i::get_member_type ( const BaseTypesList_t base_types,
CORBA::ULong  index 
)
staticprivate

Return the member_type at index (0..total_members-1) from the given hiarchical list of the derived type and it basetypes.

Implements DynamicAny::DynValue.

Implements DynamicAny::DynValue.

CORBA::ValueBase * TAO_DynValue_i::get_val ( void  )
virtual

Implements DynamicAny::DynAny.

void TAO_DynValue_i::init ( const CORBA::Any &  any)

Initialize using an Any.

Reimplemented from TAO_DynAny_i.

Initialize using a TypeCode and an input stream.

Initialize using just a TypeCode.

Reimplemented from TAO_DynAny_i.

Common code from the init() functions, initializes the private bits from the given TypeCode

void TAO_DynValue_i::insert_val ( CORBA::ValueBase *  value)
virtual

Reimplemented from TAO_DynCommon.

TAO_DynValue_i& TAO_DynValue_i::operator= ( const TAO_DynValue_i src)
private
void TAO_DynValue_i::set_to_value ( void  )
virtual

Implements TAO_DynValueCommon_i.

Reimplemented from TAO_DynAny_i.

void TAO_DynValue_i::to_outputCDR ( TAO_OutputCDR out_cdr)
private

Write the value to the output stream.


Member Data Documentation

First element of this is our type, each basetype follows in order backwards down the hiarchy. All types stored are de-aliased.

Each component of DynValue and DynValueBox is also a DynAny.


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