summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-11 18:46:32 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-11 18:46:32 +0000
commit46662fad69613da94421a12c51a9ae1f92502392 (patch)
treeaaa621ee47c085be9e5bde094fb2fd3e5d796844
parentc0c6c0a7f8c15dcbeba272e92a8e50eb0747345f (diff)
downloadATCD-46662fad69613da94421a12c51a9ae1f92502392.tar.gz
ChangeLogTag: Thu Jan 11 18:42:33 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog19
-rw-r--r--TAO/tao/DynamicAny/DynAnyFactory.cpp4
-rw-r--r--TAO/tao/DynamicAny/DynAnyUtils_T.cpp164
-rw-r--r--TAO/tao/DynamicAny/DynAnyUtils_T.h8
-rw-r--r--TAO/tao/DynamicAny/DynAny_i.cpp4
-rw-r--r--TAO/tao/DynamicAny/DynArray_i.cpp8
-rw-r--r--TAO/tao/DynamicAny/DynCommon.cpp4
-rw-r--r--TAO/tao/DynamicAny/DynSequence_i.cpp8
-rw-r--r--TAO/tao/DynamicAny/DynStruct_i.cpp8
-rw-r--r--TAO/tao/DynamicAny/DynUnion_i.cpp14
10 files changed, 131 insertions, 110 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index eb8ccd29547..f68014e1509 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,22 @@
+Thu Jan 11 18:42:33 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/DynamicAny/DynArray_i.cpp:
+ * tao/DynamicAny/DynCommon.cpp:
+ * tao/DynamicAny/DynAnyUtils_T.cpp:
+ * tao/DynamicAny/DynStruct_i.cpp:
+ * tao/DynamicAny/DynAny_i.cpp:
+ * tao/DynamicAny/DynUnion_i.cpp:
+ * tao/DynamicAny/DynAnyUtils_T.h:
+ * tao/DynamicAny/DynAnyFactory.cpp:
+ * tao/DynamicAny/DynSequence_i.cpp:
+
+ Changed make_dyn_any_t() from a static method inside
+ a templatized struct to a template method inside a
+ namespace, and changed all usages accordingly. Thanks
+ to Ossama Othman <Ossama.Othman@symantec.com> for
+ the suggestion, which is an attempt to eliminate
+ Debian link errors in DynamicAny.
+
Thu Jan 11 17:13:56 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Oneway_Timeouts/client.cpp:
diff --git a/TAO/tao/DynamicAny/DynAnyFactory.cpp b/TAO/tao/DynamicAny/DynAnyFactory.cpp
index 4910fc1a1a2..f9003b54193 100644
--- a/TAO/tao/DynamicAny/DynAnyFactory.cpp
+++ b/TAO/tao/DynamicAny/DynAnyFactory.cpp
@@ -45,7 +45,7 @@ TAO_DynAnyFactory::create_dyn_any (
))
{
return
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
value._tao_get_typecode (),
value);
}
@@ -63,7 +63,7 @@ TAO_DynAnyFactory::create_dyn_any_from_type_code (
// Second arg is typed in the template parameter, repeating it
// this way allows cleaner template code.
return
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
type,
type);
}
diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp
index 291bb81591d..8f6af4e00ac 100644
--- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp
+++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp
@@ -135,88 +135,90 @@ namespace TAO
return dp.release ();
}
- template<typename ANY_TC>
- DynamicAny::DynAny_ptr
- MakeDynAnyUtils<ANY_TC>::make_dyn_any_t (CORBA::TypeCode_ptr tc,
- ANY_TC any_tc)
+ namespace MakeDynAnyUtils
{
- switch (TAO_DynAnyFactory::unalias (tc))
- {
- case CORBA::tk_null:
- case CORBA::tk_void:
- case CORBA::tk_short:
- case CORBA::tk_long:
- case CORBA::tk_ushort:
- case CORBA::tk_ulong:
- case CORBA::tk_float:
- case CORBA::tk_double:
- case CORBA::tk_longlong:
- case CORBA::tk_ulonglong:
- case CORBA::tk_boolean:
- case CORBA::tk_char:
- case CORBA::tk_wchar:
- case CORBA::tk_octet:
- case CORBA::tk_any:
- case CORBA::tk_TypeCode:
- case CORBA::tk_objref:
- case CORBA::tk_string:
- case CORBA::tk_wstring:
- return
- CreateDynAnyUtils<
- TAO_DynAny_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- case CORBA::tk_struct:
- case CORBA::tk_except:
- return
- CreateDynAnyUtils<
- TAO_DynStruct_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- case CORBA::tk_sequence:
- if (TAO_DynCommon::is_basic_type_seq (tc))
- {
- return
- CreateDynAnyUtils<
- TAO_DynAny_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- }
- else
- {
- return
- CreateDynAnyUtils<
- TAO_DynSequence_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- }
- case CORBA::tk_union:
- return
- CreateDynAnyUtils<
- TAO_DynUnion_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- case CORBA::tk_enum:
- return
- CreateDynAnyUtils<
- TAO_DynEnum_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- case CORBA::tk_array:
- return
- CreateDynAnyUtils<
- TAO_DynArray_i,
- ANY_TC>::create_dyn_any_t (any_tc);
- case CORBA::tk_fixed:
- case CORBA::tk_value:
- case CORBA::tk_value_box:
- case CORBA::tk_abstract_interface:
- case CORBA::tk_component:
- case CORBA::tk_home:
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- DynamicAny::DynAny::_nil ());
- case CORBA::tk_native:
- ACE_THROW_RETURN (DynamicAny::DynAnyFactory::InconsistentTypeCode (),
- DynamicAny::DynAny::_nil ());
- default:
- break;
- }
-
- return DynamicAny::DynAny::_nil ();
+ template<typename ANY_TC>
+ DynamicAny::DynAny_ptr
+ make_dyn_any_t<ANY_TC> (CORBA::TypeCode_ptr tc, ANY_TC any_tc)
+ {
+ switch (TAO_DynAnyFactory::unalias (tc))
+ {
+ case CORBA::tk_null:
+ case CORBA::tk_void:
+ case CORBA::tk_short:
+ case CORBA::tk_long:
+ case CORBA::tk_ushort:
+ case CORBA::tk_ulong:
+ case CORBA::tk_float:
+ case CORBA::tk_double:
+ case CORBA::tk_longlong:
+ case CORBA::tk_ulonglong:
+ case CORBA::tk_boolean:
+ case CORBA::tk_char:
+ case CORBA::tk_wchar:
+ case CORBA::tk_octet:
+ case CORBA::tk_any:
+ case CORBA::tk_TypeCode:
+ case CORBA::tk_objref:
+ case CORBA::tk_string:
+ case CORBA::tk_wstring:
+ return
+ CreateDynAnyUtils<
+ TAO_DynAny_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ case CORBA::tk_struct:
+ case CORBA::tk_except:
+ return
+ CreateDynAnyUtils<
+ TAO_DynStruct_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ case CORBA::tk_sequence:
+ if (TAO_DynCommon::is_basic_type_seq (tc))
+ {
+ return
+ CreateDynAnyUtils<
+ TAO_DynAny_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ }
+ else
+ {
+ return
+ CreateDynAnyUtils<
+ TAO_DynSequence_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ }
+ case CORBA::tk_union:
+ return
+ CreateDynAnyUtils<
+ TAO_DynUnion_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ case CORBA::tk_enum:
+ return
+ CreateDynAnyUtils<
+ TAO_DynEnum_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ case CORBA::tk_array:
+ return
+ CreateDynAnyUtils<
+ TAO_DynArray_i,
+ ANY_TC>::create_dyn_any_t (any_tc);
+ case CORBA::tk_fixed:
+ case CORBA::tk_value:
+ case CORBA::tk_value_box:
+ case CORBA::tk_abstract_interface:
+ case CORBA::tk_component:
+ case CORBA::tk_home:
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
+ DynamicAny::DynAny::_nil ());
+ case CORBA::tk_native:
+ ACE_THROW_RETURN (DynamicAny::DynAnyFactory::InconsistentTypeCode (),
+ DynamicAny::DynAny::_nil ());
+ default:
+ break;
+ }
+
+ return DynamicAny::DynAny::_nil ();
+ }
}
}
diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.h b/TAO/tao/DynamicAny/DynAnyUtils_T.h
index a227be8538c..f91d18b9f25 100644
--- a/TAO/tao/DynamicAny/DynAnyUtils_T.h
+++ b/TAO/tao/DynamicAny/DynAnyUtils_T.h
@@ -79,12 +79,12 @@ namespace TAO
// Code common to DynAnyFactory create_* calls, parameterized on
// {Any | TypeCode}.
- template<typename ANY_TC>
- struct MakeDynAnyUtils
+ namespace MakeDynAnyUtils
{
- static DynamicAny::DynAny_ptr
+ template<typename ANY_TC>
+ DynamicAny::DynAny_ptr
make_dyn_any_t (CORBA::TypeCode_ptr tc, ANY_TC any_tc);
- };
+ }
}
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/DynamicAny/DynAny_i.cpp b/TAO/tao/DynamicAny/DynAny_i.cpp
index 3cb5e9d8cbd..f37152f87ed 100644
--- a/TAO/tao/DynamicAny/DynAny_i.cpp
+++ b/TAO/tao/DynamicAny/DynAny_i.cpp
@@ -419,12 +419,12 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs
this->any_ >>= lhs_v;
DynamicAny::DynAny_var rhs_dyn =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
rhs_v->_tao_get_typecode (),
*rhs_v);
DynamicAny::DynAny_var lhs_dyn =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
lhs_v->_tao_get_typecode (),
*lhs_v);
diff --git a/TAO/tao/DynamicAny/DynArray_i.cpp b/TAO/tao/DynamicAny/DynArray_i.cpp
index 9c4c799e65f..e4883a8443f 100644
--- a/TAO/tao/DynamicAny/DynArray_i.cpp
+++ b/TAO/tao/DynamicAny/DynArray_i.cpp
@@ -96,7 +96,7 @@ TAO_DynArray_i::init (const CORBA::Any & any
// This recursive step will call the correct constructor
// based on the type of field_any.
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
@@ -140,7 +140,7 @@ TAO_DynArray_i::init (CORBA::TypeCode_ptr tc
{
// Recursively initialize each element.
this->da_members_[i] =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
elemtype.in (),
elemtype.in ());
}
@@ -291,7 +291,7 @@ TAO_DynArray_i::set_elements (const DynamicAny::AnySeq & value
ACE_CHECK;
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
value[i]._tao_get_typecode (),
value[i]);
}
@@ -464,7 +464,7 @@ TAO_DynArray_i::from_any (const CORBA::Any& any
ACE_CHECK;
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp
index 357820e8236..9f4cb8055bf 100644
--- a/TAO/tao/DynamicAny/DynCommon.cpp
+++ b/TAO/tao/DynamicAny/DynCommon.cpp
@@ -970,7 +970,7 @@ TAO_DynCommon::get_dyn_any (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK_RETURN (0);
return
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
any.in ()._tao_get_typecode (),
any.in ());
}
@@ -1127,7 +1127,7 @@ TAO_DynCommon::copy (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK_RETURN (DynamicAny::DynAny::_nil ());
DynamicAny::DynAny_ptr retval =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
any.in ()._tao_get_typecode (),
any.in ());
diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp
index a18d518dae2..7d2dff85503 100644
--- a/TAO/tao/DynamicAny/DynSequence_i.cpp
+++ b/TAO/tao/DynamicAny/DynSequence_i.cpp
@@ -100,7 +100,7 @@ TAO_DynSequence_i::init (const CORBA::Any& any
// This recursive step will call the correct constructor
// based on the type of field_any.
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
@@ -256,7 +256,7 @@ TAO_DynSequence_i::set_length (CORBA::ULong length
for (CORBA::ULong i = this->component_count_; i < length; ++i)
{
this->da_members_[i] =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
elemtype.in (),
elemtype.in ());
}
@@ -383,7 +383,7 @@ TAO_DynSequence_i::set_elements (const DynamicAny::AnySeq & value
}
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
value[i]._tao_get_typecode (),
value[i]);
}
@@ -614,7 +614,7 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any
}
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp
index 70e4b68f075..017ae3c8797 100644
--- a/TAO/tao/DynamicAny/DynStruct_i.cpp
+++ b/TAO/tao/DynamicAny/DynStruct_i.cpp
@@ -136,7 +136,7 @@ TAO_DynStruct_i::set_from_any (const CORBA::Any & any
// This recursive step will call the correct constructor
// based on the type of field_any.
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
@@ -183,7 +183,7 @@ TAO_DynStruct_i::init (CORBA::TypeCode_ptr tc
// Recursively initialize each member.
this->da_members_[i] =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
mtype.in (),
mtype.in ());
}
@@ -402,7 +402,7 @@ TAO_DynStruct_i::set_members (const DynamicAny::NameValuePairSeq & values
ACE_CHECK;
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
values[i].value._tao_get_typecode (),
values[i].value);
}
@@ -605,7 +605,7 @@ TAO_DynStruct_i::from_any (const CORBA::Any & any
ACE_CHECK;
this->da_members_[i] =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
field_any._tao_get_typecode (),
field_any);
diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp
index 2ac94000dd2..9f649f62e11 100644
--- a/TAO/tao/DynamicAny/DynUnion_i.cpp
+++ b/TAO/tao/DynamicAny/DynUnion_i.cpp
@@ -94,7 +94,7 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc
// Initialize the discriminator to the label value of the first member.
this->discriminator_ =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
first_label.in ()._tao_get_typecode (),
first_label.in ());
@@ -105,7 +105,7 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc
// Recursively initialize the member to its default value.
this->member_ =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
first_type.in (),
first_type.in ());
}
@@ -185,7 +185,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any
// Set the discriminator.
this->discriminator_ =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
disc_any._tao_get_typecode (),
disc_any);
@@ -247,7 +247,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any
member_any.replace (unk);
this->member_ =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
member_any._tao_get_typecode (),
member_any);
@@ -290,7 +290,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any
default_any.replace (unk);
this->member_ =
- TAO::MakeDynAnyUtils<const CORBA::Any&>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<const CORBA::Any&> (
default_any._tao_get_typecode (),
default_any);
@@ -411,7 +411,7 @@ TAO_DynUnion_i::set_discriminator (DynamicAny::DynAny_ptr value
// Initialize member to default value.
this->member_ =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
member_tc.in (),
member_tc.in ());
@@ -499,7 +499,7 @@ TAO_DynUnion_i::set_to_default_member (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK;
this->member_ =
- TAO::MakeDynAnyUtils<CORBA::TypeCode_ptr>::make_dyn_any_t (
+ TAO::MakeDynAnyUtils::make_dyn_any_t<CORBA::TypeCode_ptr> (
default_tc.in (),
default_tc.in ());