diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-03-16 21:42:08 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-03-16 21:42:08 +0000 |
commit | b03f13bc00961263232d85c5f1700c4f52653498 (patch) | |
tree | ab0d549bb720e5922e852f782039aa698f27d5aa | |
parent | fc431fa451f0e6575c0fe035dd93007005942a30 (diff) | |
download | ATCD-b03f13bc00961263232d85c5f1700c4f52653498.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/tao/TypeCode/Struct_TypeCode.h | 2 | ||||
-rw-r--r-- | TAO/tao/TypeCode/Struct_TypeCode.inl | 3 | ||||
-rw-r--r-- | TAO/tao/TypeCode/TypeCode_Field.cpp | 21 | ||||
-rw-r--r-- | TAO/tao/TypeCode/TypeCode_Struct_Field.cpp | 21 | ||||
-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.inl | 23 | ||||
-rw-r--r-- | TAO/tao/TypeCode/TypeCode_Value_Field.cpp | 21 | ||||
-rw-r--r-- | TAO/tao/TypeCode/TypeCode_Value_Field.h | 131 | ||||
-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.cpp | 106 | ||||
-rw-r--r-- | TAO/tao/TypeCode/Value_TypeCode.h | 21 | ||||
-rw-r--r-- | TAO/tao/TypeCode/Value_TypeCode.inl | 3 |
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, |