summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2005-03-16 21:42:08 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2005-03-16 21:42:08 +0000
commitb03f13bc00961263232d85c5f1700c4f52653498 (patch)
treeab0d549bb720e5922e852f782039aa698f27d5aa
parentfc431fa451f0e6575c0fe035dd93007005942a30 (diff)
downloadATCD-b03f13bc00961263232d85c5f1700c4f52653498.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/TypeCode/Struct_TypeCode.h2
-rw-r--r--TAO/tao/TypeCode/Struct_TypeCode.inl3
-rw-r--r--TAO/tao/TypeCode/TypeCode_Field.cpp21
-rw-r--r--TAO/tao/TypeCode/TypeCode_Struct_Field.cpp21
-rw-r--r--TAO/tao/TypeCode/TypeCode_Struct_Field.h (renamed from TAO/tao/TypeCode/TypeCode_Field.h)48
-rw-r--r--TAO/tao/TypeCode/TypeCode_Struct_Field.inl23
-rw-r--r--TAO/tao/TypeCode/TypeCode_Value_Field.cpp21
-rw-r--r--TAO/tao/TypeCode/TypeCode_Value_Field.h131
-rw-r--r--TAO/tao/TypeCode/TypeCode_Value_Field.inl (renamed from TAO/tao/TypeCode/TypeCode_Field.inl)4
-rw-r--r--TAO/tao/TypeCode/Value_TypeCode.cpp106
-rw-r--r--TAO/tao/TypeCode/Value_TypeCode.h21
-rw-r--r--TAO/tao/TypeCode/Value_TypeCode.inl3
12 files changed, 287 insertions, 117 deletions
diff --git a/TAO/tao/TypeCode/Struct_TypeCode.h b/TAO/tao/TypeCode/Struct_TypeCode.h
index 01b43437427..3a57a96723c 100644
--- a/TAO/tao/TypeCode/Struct_TypeCode.h
+++ b/TAO/tao/TypeCode/Struct_TypeCode.h
@@ -32,6 +32,8 @@ namespace TAO
{
namespace TypeCode
{
+ template<typename StringType> struct Struct_Field;
+
/**
* @class Struct
*
diff --git a/TAO/tao/TypeCode/Struct_TypeCode.inl b/TAO/tao/TypeCode/Struct_TypeCode.inl
index fb1f89d5055..d533af8a02c 100644
--- a/TAO/tao/TypeCode/Struct_TypeCode.inl
+++ b/TAO/tao/TypeCode/Struct_TypeCode.inl
@@ -2,6 +2,9 @@
//
// $Id$
+#include "TypeCode_Struct_Field.h"
+
+
template <typename StringType,
class FieldArrayType,
CORBA::TCKind Kind,
diff --git a/TAO/tao/TypeCode/TypeCode_Field.cpp b/TAO/tao/TypeCode/TypeCode_Field.cpp
deleted file mode 100644
index 283d01c57a2..00000000000
--- a/TAO/tao/TypeCode/TypeCode_Field.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// $Id$
-
-#ifndef TAO_TYPECODE_FIELD_CPP
-#define TAO_TYPECODE_FIELD_CPP
-
-#include "TypeCode_Field.h"
-
-#ifndef __ACE_INLINE__
-# include "tao/TypeCode_Field.inl"
-#endif /* __ACE_INLINE__ */
-
-
-template <typename STRING_TYPE>
-char const *
-TAO::TypeCode::Field<STRING_TYPE>::~Field (void)
-{
- if (this->type)
- CORBA::release (*type);
-}
-
-#endif /* TAO_TYPECODE_FIELD_CPP */
diff --git a/TAO/tao/TypeCode/TypeCode_Struct_Field.cpp b/TAO/tao/TypeCode/TypeCode_Struct_Field.cpp
new file mode 100644
index 00000000000..58724472696
--- /dev/null
+++ b/TAO/tao/TypeCode/TypeCode_Struct_Field.cpp
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef TAO_TYPECODE_STRUCT_FIELD_CPP
+#define TAO_TYPECODE_STRUCT_FIELD_CPP
+
+#include "TypeCode_Struct_Field.h"
+
+#ifndef __ACE_INLINE__
+# include "tao/TypeCode_Struct_Field.inl"
+#endif /* __ACE_INLINE__ */
+
+
+template <typename STRING_TYPE>
+char const *
+TAO::TypeCode::Struct_Field<STRING_TYPE>::~Struct_Field (void)
+{
+ if (this->type)
+ CORBA::release (*type);
+}
+
+#endif /* TAO_TYPECODE_STRUCT_FIELD_CPP */
diff --git a/TAO/tao/TypeCode/TypeCode_Field.h b/TAO/tao/TypeCode/TypeCode_Struct_Field.h
index f718026e80a..bef729e8011 100644
--- a/TAO/tao/TypeCode/TypeCode_Field.h
+++ b/TAO/tao/TypeCode/TypeCode_Struct_Field.h
@@ -2,19 +2,19 @@
//=============================================================================
/**
- * @file TypeCode_Field.h
+ * @file TypeCode_Struct_Field.h
*
* $Id$
*
- * Header file for @c TAO::TypeCode::Field type.
+ * Header file for @c TAO::TypeCode::Struct_Field type.
*
* @author Ossama Othman <ossama@dre.vanderbilt.edu>
* @author Carlos O'Ryan
*/
//=============================================================================
-#ifndef TAO_TYPECODE_FIELD_H
-#define TAO_TYPECODE_FIELD_H
+#ifndef TAO_TYPECODE_STRUCT_FIELD_H
+#define TAO_TYPECODE_STRUCT_FIELD_H
#include /**/ "ace/pre.h"
@@ -36,14 +36,14 @@ namespace TAO
namespace TypeCode
{
/**
- * @struct Field
+ * @struct Struct_Field
*
- * @brief Name/value pair for fields of an OMG IDL defined
+ * @brief Name/type pair for fields of an OMG IDL defined
* structure or exception.
*
- * A @c Field contains the corresponding name and pointer to the
- * @c CORBA::TypeCode for a given OMG IDL defined type. For
- * example, the fields in following OMG IDL structure:
+ * A @c Struct_Field contains the corresponding name and pointer
+ * to the @c CORBA::TypeCode for a given OMG IDL defined type.
+ * For example, the fields in following OMG IDL structure:
*
* \code
* struct Foo
@@ -54,10 +54,10 @@ namespace TAO
* \endcode
*
* would be represented using the following statically instantiated
- * @c TAO::TypeCode::Field array:
+ * @c TAO::TypeCode::Struct_Field array:
*
* \code
- * TAO::TypeCode::Field<char const *> _tao_fields_Foo[] =
+ * TAO::TypeCode::Struct_Field<char const *> _tao_fields_Foo[] =
* {
* { "the_number", &CORBA::_tc_long },
* { "the_string", &CORBA::_tc_string },
@@ -70,12 +70,12 @@ namespace TAO
* @c TypeCodes dynamically, such as through the TypeCodeFactory.
*/
template <typename STRING_TYPE>
- struct Field
+ struct Struct_Field
{
/// Destructor.
- ~Field (void);
+ ~Struct_Field (void);
- /// Return the name of the @c Field.
+ /// Return the name of the @c Struct_Field.
/**
* @note This method unfortunately exists so that we can
* retrieve the underlying string when the @a STRING_TYPE
@@ -94,11 +94,11 @@ namespace TAO
* A pointer to the @c CORBA::TypeCode_ptr rather than the
* @c CORBA::TypeCode_ptr itself is stored since that address is
* well-defined. We may not know the value of the @c
- * CORBA::TypeCode_ptr when creating this @c Field statically at
- * compile-time, hence the indirection.
+ * CORBA::TypeCode_ptr when creating this @c Struct_Field
+ * statically at compile-time, hence the indirection.
*
* @note This @c TypeCode is released upon destruction of this
- * @c Field.
+ * @c Struct_Field.
*/
CORBA::TypeCode_ptr * type;
@@ -108,22 +108,22 @@ namespace TAO
} // End namespace TAO
// If we didn't have to worry about better conversion sequence
-// warnings, and drop the Field<>::get_name() method, we could drop
-// the below #include directives and remove the files contained within
-// them altogether.
+// warnings, and drop the Struct_Field<>::get_name() method, we could
+// drop the below #include directives and remove the files contained
+// within them altogether.
#ifdef __ACE_INLINE__
-# include "tao/TypeCode_Field.inl"
+# include "tao/TypeCode_Struct_Field.inl"
#endif /* __ACE_INLINE__ */
#ifdef ACE_TEMPLATES_REQUIRE_SOURCE
-# include "tao/TypeCode_Field.cpp"
+# include "tao/TypeCode_Struct_Field.cpp"
#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
#ifdef ACE_TEMPLATES_REQUIRE_PRAGMA
-# pragma implementation ("TypeCode_Field.cpp")
+# pragma implementation ("TypeCode_Struct_Field.cpp")
#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
#include /**/ "ace/post.h"
-#endif /* TAO_TYPECODE_FIELD_H */
+#endif /* TAO_TYPECODE_STRUCT_FIELD_H */
diff --git a/TAO/tao/TypeCode/TypeCode_Struct_Field.inl b/TAO/tao/TypeCode/TypeCode_Struct_Field.inl
new file mode 100644
index 00000000000..70e5bafdef6
--- /dev/null
+++ b/TAO/tao/TypeCode/TypeCode_Struct_Field.inl
@@ -0,0 +1,23 @@
+// -*- C++ -*-
+//
+// $Id$
+
+template <typename STRING_TYPE>
+ACE_INLINE char const *
+TAO::TypeCode::Struct_Field<STRING_TYPE>::get_name (void) const
+{
+ return this->name;
+}
+
+// -----------------------------------------------------------------
+// Some compilers exhibit warnings about better conversion sequence
+// from a CORBA::String_var to a char const *. This member
+// specialization works around them by performing explicit
+// conversions.
+// -----------------------------------------------------------------
+
+ACE_INLINE char const *
+TAO::TypeCode::Struct_Field<CORBA::String_var>::get_name (void) const
+{
+ return this->name.in ();
+}
diff --git a/TAO/tao/TypeCode/TypeCode_Value_Field.cpp b/TAO/tao/TypeCode/TypeCode_Value_Field.cpp
new file mode 100644
index 00000000000..296bcda06fb
--- /dev/null
+++ b/TAO/tao/TypeCode/TypeCode_Value_Field.cpp
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef TAO_TYPECODE_VALUE_FIELD_CPP
+#define TAO_TYPECODE_VALUE_FIELD_CPP
+
+#include "TypeCode_Value_Field.h"
+
+#ifndef __ACE_INLINE__
+# include "tao/TypeCode_Value_Field.inl"
+#endif /* __ACE_INLINE__ */
+
+
+template <typename STRING_TYPE>
+char const *
+TAO::TypeCode::Value_Field<STRING_TYPE>::~Value_Field (void)
+{
+ if (this->type)
+ CORBA::release (*type);
+}
+
+#endif /* TAO_TYPECODE_VALUE_FIELD_CPP */
diff --git a/TAO/tao/TypeCode/TypeCode_Value_Field.h b/TAO/tao/TypeCode/TypeCode_Value_Field.h
new file mode 100644
index 00000000000..6b8feb03296
--- /dev/null
+++ b/TAO/tao/TypeCode/TypeCode_Value_Field.h
@@ -0,0 +1,131 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file TypeCode_Value_Field.h
+ *
+ * $Id$
+ *
+ * Header file for @c TAO::TypeCode::Value_Field type.
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_TYPECODE_VALUE_FIELD_H
+#define TAO_TYPECODE_VALUE_FIELD_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/config.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CORBA
+{
+ class TypeCode;
+ typedef TypeCode* TypeCode_ptr;
+}
+
+namespace TAO
+{
+ namespace TypeCode
+ {
+ /**
+ * @struct Value_Field
+ *
+ * @brief Name/type/visibility tuple fields of an OMG IDL defined
+ * @c valuetype or @c eventtype.
+ *
+ * A @c Value_Field contains the corresponding name and pointer to the
+ * @c CORBA::TypeCode for a given OMG IDL defined type. For
+ * example, the fields in following OMG IDL structure:
+ *
+ * \code
+ * struct Foo
+ * {
+ * long the_number;
+ * string the_string;
+ * };
+ * \endcode
+ *
+ * would be represented using the following statically instantiated
+ * @c TAO::TypeCode::Value_Field array:
+ *
+ * \code
+ * TAO::TypeCode::Value_Field<char const *> _tao_fields_Foo[] =
+ * {
+ * { "the_number", &CORBA::_tc_long },
+ * { "the_string", &CORBA::_tc_string },
+ * };
+ * \endcode
+ *
+ * The template parameter @a STRING_TYPE is either @c char
+ * @c const @c * or @c CORBA::String_var. The latter is only used
+ * when creating @c CORBA::tk_value or @c CORBA::tk_event
+ * @c TypeCodes dynamically, such as through the TypeCodeFactory.
+ */
+ template <typename STRING_TYPE>
+ struct Value_Field
+ {
+ /// Destructor.
+ ~Value_Field (void);
+
+ /// Return the name of the @c Value_Field.
+ /**
+ * @note This method unfortunately exists so that we can
+ * retrieve the underlying string when the @a STRING_TYPE
+ * is @c CORBA::String_var rather than the
+ * @c CORBA::String_var itself. This is necessary to
+ * silence a warning about better conversion sequences
+ * exhibited by some C++ compilers.
+ */
+ char const * get_name (void) const;
+
+ /// The name of the field.
+ STRING_TYPE const name;
+
+ /// Pointer to the @c CORBA::TypeCode of the field.
+ /**
+ * A pointer to the @c CORBA::TypeCode_ptr rather than the
+ * @c CORBA::TypeCode_ptr itself is stored since that address is
+ * well-defined. We may not know the value of the
+ * @c CORBA::TypeCode_ptr when creating this @c Value_Field
+ * statically at compile-time, hence the indirection.
+ *
+ * @note This @c TypeCode is released upon destruction of this
+ * @c Value_Field.
+ */
+ CORBA::TypeCode_ptr * type;
+
+ /// The visibility of the field.
+ CORBA::Visibility visibility;
+
+ };
+
+ } // End namespace TypeCode
+} // End namespace TAO
+
+// If we didn't have to worry about better conversion sequence
+// warnings, and drop the Value_Field<>::get_name() method, we could
+// drop the below #include directives and remove the files contained
+// within them altogether.
+
+#ifdef __ACE_INLINE__
+# include "tao/TypeCode_Value_Field.inl"
+#endif /* __ACE_INLINE__ */
+
+#ifdef ACE_TEMPLATES_REQUIRE_SOURCE
+# include "tao/TypeCode_Value_Field.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#ifdef ACE_TEMPLATES_REQUIRE_PRAGMA
+# pragma implementation ("TypeCode_Value_Field.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_TYPECODE_VALUE_FIELD_H */
diff --git a/TAO/tao/TypeCode/TypeCode_Field.inl b/TAO/tao/TypeCode/TypeCode_Value_Field.inl
index a54c6a74143..852273c2d83 100644
--- a/TAO/tao/TypeCode/TypeCode_Field.inl
+++ b/TAO/tao/TypeCode/TypeCode_Value_Field.inl
@@ -4,7 +4,7 @@
template <typename STRING_TYPE>
ACE_INLINE char const *
-TAO::TypeCode::Field<STRING_TYPE>::get_name (void) const
+TAO::TypeCode::Value_Field<STRING_TYPE>::get_name (void) const
{
return this->name;
}
@@ -17,7 +17,7 @@ TAO::TypeCode::Field<STRING_TYPE>::get_name (void) const
// -----------------------------------------------------------------
ACE_INLINE char const *
-TAO::TypeCode::Field<CORBA::String_var>::get_name (void) const
+TAO::TypeCode::Value_Field<CORBA::String_var>::get_name (void) const
{
return this->name.in ();
}
diff --git a/TAO/tao/TypeCode/Value_TypeCode.cpp b/TAO/tao/TypeCode/Value_TypeCode.cpp
index 07f76c6a228..4120d5c64b3 100644
--- a/TAO/tao/TypeCode/Value_TypeCode.cpp
+++ b/TAO/tao/TypeCode/Value_TypeCode.cpp
@@ -4,7 +4,7 @@
#define TAO_VALUE_TYPECODE_CPP
#include "tao/Value_TypeCode.h"
-#include "tao/TypeCode_Field.h"
+#include "tao/TypeCode_Value_Field.h"
#ifndef __ACE_INLINE__
# include "tao/Value_TypeCode.inl"
@@ -17,9 +17,9 @@ template <typename StringType,
class RefCountPolicy>
bool
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::tao_marshal (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::tao_marshal (
TAO_OutputCDR & cdr) const
{
// A tk_value TypeCode has a "complex" parameter list type (see
@@ -39,12 +39,12 @@ TAO::TypeCode::Value<StringType,
if (!success)
return false;
- Field<StringType> const * const begin = this->fields ();
- Field<StringType> const * const end = begin + this->nfields_;
+ Value_Field<StringType> const * const begin = this->fields ();
+ Value_Field<StringType> const * const end = begin + this->nfields_;
- for (Field<StringType> const * i = begin; i != end; ++i)
+ for (Value_Field<StringType> const * i = begin; i != end; ++i)
{
- Field<StringType> const & field = *i;
+ Value_Field<StringType> const & field = *i;
if (!(cdr << field.get_name ())
|| !(cdr << *(field.type))
@@ -61,9 +61,9 @@ template <typename StringType,
class RefCountPolicy>
void
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::tao_duplicate (void)
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::tao_duplicate (void)
{
this->RefCountPolicy::add_ref (void);
}
@@ -74,9 +74,9 @@ template <typename StringType,
class RefCountPolicy>
void
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::tao_release (void)
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::tao_release (void)
{
this->RefCountPolicy::remove_ref (void);
}
@@ -87,9 +87,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::Boolean
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::equal_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::equal_i (
CORBA::TypeCode_ptr tc
ACE_ENV_ARG_DECL) const
{
@@ -122,7 +122,7 @@ TAO::TypeCode::Value<StringType,
for (CORBA::ULong i = 0; i < this->nfields_; ++i)
{
- Field<StringType> const & lhs_field = this->fields_[i];
+ Value_Field<StringType> const & lhs_field = this->fields_[i];
CORBA::Visibility const lhs_visibility = lhs_field.visibility;
CORBA::Visibility const rhs_visibility =
@@ -165,9 +165,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::Boolean
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::equivalent_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::equivalent_i (
CORBA::TypeCode_ptr tc
ACE_ENV_ARG_DECL) const
{
@@ -220,7 +220,7 @@ TAO::TypeCode::Value<StringType,
for (CORBA::ULong i = 0; i < this->nfields_; ++i)
{
- Field<StringType> const & lhs_field = this->fields_[i];
+ Value_Field<StringType> const & lhs_field = this->fields_[i];
CORBA::Visibility const lhs_visibility =
lhs_field.visibility;
@@ -261,12 +261,12 @@ template <typename StringType,
class RefCountPolicy>
CORBA::TCKind
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::kind_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::kind_i (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
- return Value_Traits<Kind>::kind;
+ return Kind;
}
template <typename StringType,
@@ -275,14 +275,14 @@ template <typename StringType,
class RefCountPolicy>
CORBA::TypeCode_ptr
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::get_compact_typecode_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::get_compact_typecode_i (
ACE_ENV_SINGLE_ARG_DECL) const
{
- Field<StringType> * tc_fields = 0;
+ Value_Field<StringType> * tc_fields = 0;
- ACE_Auto_Array_Ptr<Field<StringType> > safe_fields;
+ ACE_Auto_Array_Ptr<Value_Field<StringType> > safe_fields;
if (this->nfields_ > 0)
{
@@ -290,7 +290,7 @@ TAO::TypeCode::Value<StringType,
// member names.
ACE_NEW_THROW_EX (tc_fields,
- Field<StringType> [this->nfields_],
+ Value_Field<StringType> [this->nfields_],
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
@@ -343,9 +343,9 @@ template <typename StringType,
class RefCountPolicy>
char const *
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::id_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::id_i (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
// Ownership is retained by the TypeCode, as required by the C++
@@ -359,9 +359,9 @@ template <typename StringType,
class RefCountPolicy>
char const *
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::name_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::name_i (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
// Ownership is retained by the TypeCode, as required by the C++
@@ -375,9 +375,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::ULong
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::member_count_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::member_count_i (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
return this->nfields_;
@@ -389,9 +389,9 @@ template <typename StringType,
class RefCountPolicy>
char const *
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::member_name_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::member_name_i (
CORBA::ULong index
ACE_ENV_ARG_DECL) const
{
@@ -409,9 +409,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::TypeCode_ptr
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::member_type_i (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::member_type_i (
CORBA::ULong index
ACE_ENV_ARG_DECL) const
{
@@ -447,9 +447,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::ValueModifier
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::type_modifier (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::type_modifier (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
return this->type_modifier_;
@@ -461,9 +461,9 @@ template <typename StringType,
class RefCountPolicy>
CORBA::TypeCode_ptr
TAO::TypeCode::Value<StringType,
- FieldArrayType,
- Kind,
- RefCountPolicy>::concrete_base_type (
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::concrete_base_type (
ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
{
return
diff --git a/TAO/tao/TypeCode/Value_TypeCode.h b/TAO/tao/TypeCode/Value_TypeCode.h
index a1e9ae40ee0..e5f7ee54d5f 100644
--- a/TAO/tao/TypeCode/Value_TypeCode.h
+++ b/TAO/tao/TypeCode/Value_TypeCode.h
@@ -31,20 +31,7 @@ namespace TAO
{
namespace TypeCode
{
- template <CORBA::TCKind KIND> struct Value_Traits;
-
- template <>
- struct Value_Traits<CORBA::tk_value>
- {
- enum { kind = CORBA::tk_value };
- };
-
- template <>
- struct Value_Traits<CORBA::tk_event>
- {
- enum { kind = CORBA::tk_event };
- };
-
+ template<typename StringType> struct Value_Field;
/**
* @class Value
@@ -70,7 +57,7 @@ namespace TAO
char const * name,
CORBA::ValueModifer modifier,
CORBA::TypeCode_ptr * concrete_base,
- Field<StringType> const * fields,
+ Value_Field<StringType> const * fields,
CORBA::ULong nfields,
CORBA::ValueModifier type_modifier,
CORBA::TypeCode_ptr concrete_base_type);
@@ -124,8 +111,8 @@ namespace TAO
private:
- /// Get pointer to the underlying @c Field array.
- Field<StringType> const * fields (void) const;
+ /// Get pointer to the underlying @c Value_Field array.
+ Value_Field<StringType> const * fields (void) const;
private:
diff --git a/TAO/tao/TypeCode/Value_TypeCode.inl b/TAO/tao/TypeCode/Value_TypeCode.inl
index da9dff0f5c7..92d30c7dfff 100644
--- a/TAO/tao/TypeCode/Value_TypeCode.inl
+++ b/TAO/tao/TypeCode/Value_TypeCode.inl
@@ -2,6 +2,9 @@
//
// $Id$
+#include "TypeCode_Value_Field.h"
+
+
template <typename StringType,
class FieldArrayType,
CORBA::TCKind Kind,