TAO_DynAnyFactory Class Reference

#include <DynAnyFactory.h>

Inheritance diagram for TAO_DynAnyFactory:

Inheritance graph
[legend]
Collaboration diagram for TAO_DynAnyFactory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_DynAnyFactory (void)
 Constructor.

virtual DynamicAny::DynAny_ptr create_dyn_any (const CORBA::Any &value)
virtual DynamicAny::DynAny_ptr create_dyn_any_from_type_code (CORBA::TypeCode_ptr type)
virtual DynamicAny::DynAny_ptr create_dyn_any_without_truncation (const CORBA::Any &value)
virtual DynamicAny::DynAnySeqcreate_multiple_dyn_anys (const DynamicAny::AnySeq &values,::CORBA::Boolean allow_truncate)
virtual DynamicAny::AnySeqcreate_multiple_anys (const DynamicAny::DynAnySeq &values)

Static Public Member Functions

CORBA::TCKind unalias (CORBA::TypeCode_ptr tc)
 TAO-specific methods. Obtain the kind of object, after all aliasing has been removed.

CORBA::TypeCode_ptr strip_alias (CORBA::TypeCode_ptr tc)

Private Member Functions

 TAO_DynAnyFactory (const TAO_DynAnyFactory &src)
TAO_DynAnyFactoryoperator= (const TAO_DynAnyFactory &src)

Detailed Description

Implements the DynamicAnyFactory interface and provides several utility functions shared by all the Dynamic Any components.

Definition at line 41 of file DynAnyFactory.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_DynAnyFactory::TAO_DynAnyFactory void   ) 
 

Constructor.

Definition at line 33 of file DynAnyFactory.cpp.

00034 {
00035 }

TAO_DynAnyFactory::TAO_DynAnyFactory const TAO_DynAnyFactory src  )  [private]
 


Member Function Documentation

DynamicAny::DynAny_ptr TAO_DynAnyFactory::create_dyn_any const CORBA::Any &  value  )  [virtual]
 

Definition at line 38 of file DynAnyFactory.cpp.

00039 {
00040   return
00041     TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
00042       value._tao_get_typecode (),
00043       value);
00044 }

DynamicAny::DynAny_ptr TAO_DynAnyFactory::create_dyn_any_from_type_code CORBA::TypeCode_ptr  type  )  [virtual]
 

Definition at line 47 of file DynAnyFactory.cpp.

00048 {
00049   // Second arg is typed in the template parameter, repeating it
00050   // this way allows cleaner template code.
00051   return
00052     TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
00053       type,
00054       type);
00055 }

DynamicAny::DynAny_ptr TAO_DynAnyFactory::create_dyn_any_without_truncation const CORBA::Any &  value  )  [virtual]
 

Definition at line 58 of file DynAnyFactory.cpp.

00060 {
00061   throw ::CORBA::NO_IMPLEMENT ();
00062 }

DynamicAny::AnySeq * TAO_DynAnyFactory::create_multiple_anys const DynamicAny::DynAnySeq values  )  [virtual]
 

Definition at line 73 of file DynAnyFactory.cpp.

References DynamicAny::DynAnySeq.

00075 {
00076   throw ::CORBA::NO_IMPLEMENT ();
00077 }

DynamicAny::DynAnySeq * TAO_DynAnyFactory::create_multiple_dyn_anys const DynamicAny::AnySeq values,
::CORBA::Boolean  allow_truncate
[virtual]
 

Definition at line 65 of file DynAnyFactory.cpp.

References DynamicAny::AnySeq.

00068 {
00069   throw ::CORBA::NO_IMPLEMENT ();
00070 }

TAO_DynAnyFactory& TAO_DynAnyFactory::operator= const TAO_DynAnyFactory src  )  [private]
 

CORBA::TypeCode_ptr TAO_DynAnyFactory::strip_alias CORBA::TypeCode_ptr  tc  )  [static]
 

Same as above, but returns type code instead of TCKind. Caller must release the return value.

Definition at line 98 of file DynAnyFactory.cpp.

Referenced by TAO_DynCommon::check_type_and_unalias(), TAO_DynStruct_i::current_member_kind(), TAO_DynStruct_i::current_member_name(), TAO_DynAny_i::equal(), TAO_DynEnum_i::get_as_string(), TAO_DynStruct_i::get_members(), TAO_DynStruct_i::get_members_as_dyn_any(), TAO_DynCommon::get_string(), TAO_DynUnion_i::init(), TAO_DynStruct_i::init(), TAO_DynCommon::insert_string(), TAO_DynEnum_i::set_as_string(), TAO_DynEnum_i::set_as_ulong(), TAO_DynUnion_i::set_discriminator(), TAO_DynSequence_i::set_elements(), TAO_DynSequence_i::set_elements_as_dyn_any(), TAO_DynUnion_i::set_from_any(), TAO_DynStruct_i::set_from_any(), TAO_DynSequence_i::set_length(), TAO_DynStruct_i::set_members(), TAO_DynStruct_i::set_members_as_dyn_any(), TAO_DynUnion_i::set_to_default_member(), and TAO_DynUnion_i::set_to_no_active_member().

00099 {
00100   CORBA::TypeCode_var retval = CORBA::TypeCode::_duplicate (tc);
00101   CORBA::TCKind tck = retval->kind ();
00102 
00103   while (tck == CORBA::tk_alias)
00104     {
00105       retval = retval->content_type ();
00106 
00107       tck = retval->kind ();
00108     }
00109 
00110   return retval._retn ();
00111 }

CORBA::TCKind TAO_DynAnyFactory::unalias CORBA::TypeCode_ptr  tc  )  [static]
 

TAO-specific methods. Obtain the kind of object, after all aliasing has been removed.

Definition at line 82 of file DynAnyFactory.cpp.

Referenced by TAO_DynCommon::check_component(), TAO_DynStruct_i::check_typecode(), TAO_DynAny_i::check_typecode(), TAO_DynStruct_i::current_member_kind(), TAO_DynUnion_i::discriminator_kind(), TAO_DynAny_i::equal(), TAO_DynStruct_i::from_any(), TAO_DynEnum_i::from_any(), TAO_DynCommon::get_abstract(), TAO_DynCommon::get_val(), TAO_DynUnion_i::init(), TAO_DynSequence_i::init(), TAO_DynEnum_i::init(), TAO_DynArray_i::init(), TAO_DynCommon::insert_abstract(), TAO_DynCommon::insert_reference(), TAO_DynCommon::insert_val(), TAO_DynUnion_i::label_match(), TAO::MakeDynAnyUtils::make_dyn_any_t(), TAO_DynUnion_i::member_kind(), TAO_DynUnion_i::set_discriminator(), TAO_DynCommon::set_flag(), TAO_DynStruct_i::set_from_any(), TAO_DynAny_i::set_to_default_value(), TAO_DynUnion_i::set_to_no_active_member(), and TAO_DynStruct_i::to_any().

00083 {
00084   CORBA::TCKind tck = tc->kind ();
00085 
00086   while (tck == CORBA::tk_alias)
00087     {
00088       CORBA::TypeCode_var temp = tc->content_type ();
00089 
00090       tck = TAO_DynAnyFactory::unalias (temp.in ());
00091     }
00092 
00093   return tck;
00094 }


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:36:56 2008 for TAO_DynamicAny by doxygen 1.3.6