TAO_DynamicAny  2.0.8
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.

TAO_DynValue_i::~TAO_DynValue_i ( void  )

Destructor.

TAO_DynValue_i::TAO_DynValue_i ( const TAO_DynValue_i src) [private]

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


Member Function Documentation

TAO_DynValue_i * TAO_DynValue_i::_narrow ( CORBA::Object_ptr  obj) [static]

Reimplemented from TAO_DynValueCommon_i.

void TAO_DynValue_i::check_typecode ( CORBA::TypeCode_ptr  tc) [private, virtual]

Check if the typecode is acceptable.

Implements TAO_DynValueCommon_i.

DynamicAny::DynAny_ptr TAO_DynValue_i::current_component ( void  ) [virtual]

Reimplemented from TAO_DynAny_i.

CORBA::TCKind TAO_DynValue_i::current_member_kind ( void  ) [virtual]

Implements DynamicAny::DynValue.

DynamicAny::FieldName TAO_DynValue_i::current_member_name ( void  ) [virtual]

Implements DynamicAny::DynValue.

void TAO_DynValue_i::destroy ( void  ) [virtual]

Reimplemented from TAO_DynAny_i.

CORBA::Boolean TAO_DynValue_i::equal ( DynamicAny::DynAny_ptr  dyn_any) [virtual]

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 
) [static, private]

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 
) [static, private]

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 
) [static, private]

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 
) [static, private]

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

DynamicAny::NameValuePairSeq * TAO_DynValue_i::get_members ( void  ) [virtual]

Implements DynamicAny::DynValue.

DynamicAny::NameDynAnyPairSeq * TAO_DynValue_i::get_members_as_dyn_any ( void  ) [virtual]

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.

void TAO_DynValue_i::init ( CORBA::TypeCode_ptr  tc,
TAO_InputCDR in 
)

Initialize using a TypeCode and an input stream.

void TAO_DynValue_i::init ( CORBA::TypeCode_ptr  tc)

Initialize using just a TypeCode.

Reimplemented from TAO_DynAny_i.

void TAO_DynValue_i::init_helper ( CORBA::TypeCode_ptr  tc) [private]

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_members ( const DynamicAny::NameValuePairSeq value) [virtual]
void TAO_DynValue_i::set_members_as_dyn_any ( const DynamicAny::NameDynAnyPairSeq value) [virtual]
void TAO_DynValue_i::set_to_value ( void  ) [virtual]

Implements TAO_DynValueCommon_i.

CORBA::Any_ptr TAO_DynValue_i::to_any ( void  ) [virtual]

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines