TAO_DynamicAny  2.1.2
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]

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)
- Public Member Functions inherited from DynamicAny::DynValue
virtual void set_members (const ::DynamicAny::NameValuePairSeq &value)=0
virtual void set_members_as_dyn_any (const ::DynamicAny::NameDynAnyPairSeq &value)=0
virtual ::CORBA::Boolean _is_a (const char *type_id)
virtual const char * _interface_repository_id (void) const
virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr)
- Public Member Functions inherited from TAO_DynValueCommon_i
 TAO_DynValueCommon_i (CORBA::Boolean allow_truncation=true)
 Constructor.
 ~TAO_DynValueCommon_i (void)
 Destructor.
void init_common (void)
 Called by DynValue and DynValueBox init() functions.
virtual CORBA::Boolean is_null (void)
virtual void set_to_null (void)

Static Public Member Functions

static TAO_DynValue_i_narrow (CORBA::Object_ptr obj)
- Static Public Member Functions inherited from DynamicAny::DynValue
static void _tao_any_destructor (void *)
static DynValue_ptr _duplicate (DynValue_ptr obj)
static void _tao_release (DynValue_ptr obj)
static DynValue_ptr _narrow (::CORBA::Object_ptr obj)
static DynValue_ptr _unchecked_narrow (::CORBA::Object_ptr obj)
static DynValue_ptr _nil (void)
- Static Public Member Functions inherited from DynamicAny::DynValueCommon
static DynValueCommon_ptr _duplicate (DynValueCommon_ptr obj)
static void _tao_release (DynValueCommon_ptr obj)
- Static Public Member Functions inherited from DynamicAny::DynAny
static DynAny_ptr _duplicate (DynAny_ptr obj)
static void _tao_release (DynAny_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_

Additional Inherited Members

- Public Types inherited from DynamicAny::DynValue
typedef DynValue_ptr _ptr_type
typedef DynValue_var _var_type
typedef DynValue_out _out_type
- Public Types inherited from DynamicAny::DynValueCommon
- Public Types inherited from DynamicAny::DynAny
- Public Types inherited from CORBA::Object
- Protected Member Functions inherited from DynamicAny::DynValue
 DynValue (void)
virtual ~DynValue (void)
- Protected Member Functions inherited from DynamicAny::DynValueCommon
 DynValueCommon (void)
virtual ~DynValueCommon (void)
- Protected Member Functions inherited from DynamicAny::DynAny
 DynAny (void)
virtual ~DynAny (void)
- Protected Attributes inherited from TAO_DynValueCommon_i
CORBA::Boolean is_null_

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)
privatevirtual

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 
)
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.

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

BaseTypesList_t TAO_DynValue_i::da_base_types_
private

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

ACE_Array_Base<DynamicAny::DynAny_var> TAO_DynValue_i::da_members_
private

Each component of DynValue and DynValueBox is also a DynAny.


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