summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2004-10-15 18:34:35 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2004-10-15 18:34:35 +0000
commit25e8dc67ecad46ddb4529e9da71f660b015d9d21 (patch)
treee8db6eac44dbc9e7898765e63e69975e8c5a362d
parentfdf4177a2ac49215b9b2e1ca3561233cc5c26a70 (diff)
downloadATCD-25e8dc67ecad46ddb4529e9da71f660b015d9d21.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/TypeCode/TypeCode_Case.cpp4
-rw-r--r--TAO/tao/TypeCode/TypeCode_Case.h16
-rw-r--r--TAO/tao/TypeCode/TypeCode_Default_Case.h4
-rw-r--r--TAO/tao/TypeCode/TypeCode_Non_Default_Case.h6
-rw-r--r--TAO/tao/TypeCode/Union_TypeCode.cpp24
5 files changed, 29 insertions, 25 deletions
diff --git a/TAO/tao/TypeCode/TypeCode_Case.cpp b/TAO/tao/TypeCode/TypeCode_Case.cpp
index 16ad4990110..5c83263c258 100644
--- a/TAO/tao/TypeCode/TypeCode_Case.cpp
+++ b/TAO/tao/TypeCode/TypeCode_Case.cpp
@@ -3,10 +3,10 @@
#ifndef TAO_TYPECODE_CASE_CPP
#define TAO_TYPECODE_CASE_CPP
-#include "TypeCode_Case_Base.h"
+#include "TypeCode_Case.h"
#ifndef __ACE_INLINE__
-# include "tao/TypeCode_Case_Base.inl"
+# include "tao/TypeCode_Case.inl"
#endif /* __ACE_INLINE__ */
diff --git a/TAO/tao/TypeCode/TypeCode_Case.h b/TAO/tao/TypeCode/TypeCode_Case.h
index f57f5b3cc30..7b5042b6a14 100644
--- a/TAO/tao/TypeCode/TypeCode_Case.h
+++ b/TAO/tao/TypeCode/TypeCode_Case.h
@@ -2,18 +2,18 @@
//=============================================================================
/**
- * @file TypeCode_Case_Base.h
+ * @file TypeCode_Case.h
*
* $Id$
*
- * Header file for @c TAO::TypeCode::Case_Base type.
+ * Header file for @c TAO::TypeCode::Case type.
*
* @author Ossama Othman
*/
//=============================================================================
-#ifndef TAO_TYPECODE_CASE_BASE_H
-#define TAO_TYPECODE_CASE_BASE_H
+#ifndef TAO_TYPECODE_CASE_H
+#define TAO_TYPECODE_CASE_H
#include /**/ "ace/pre.h"
@@ -143,17 +143,17 @@ namespace TAO
#ifdef __ACE_INLINE__
-# include "tao/TypeCode_Case_Base.inl"
+# include "tao/TypeCode_Case.inl"
#endif /* __ACE_INLINE__ */
#ifdef ACE_TEMPLATES_REQUIRE_SOURCE
-# include "tao/TypeCode_Case_Base.cpp"
+# include "tao/TypeCode_Case.cpp"
#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
#ifdef ACE_TEMPLATES_REQUIRE_PRAGMA
-# pragma implementation ("TypeCode_Case_Base.cpp")
+# pragma implementation ("TypeCode_Case.cpp")
#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
#include /**/ "ace/post.h"
-#endif /* TAO_TYPECODE_CASE_BASE_H */
+#endif /* TAO_TYPECODE_CASE_H */
diff --git a/TAO/tao/TypeCode/TypeCode_Default_Case.h b/TAO/tao/TypeCode/TypeCode_Default_Case.h
index 362f1a7c6f9..4072da0706f 100644
--- a/TAO/tao/TypeCode/TypeCode_Default_Case.h
+++ b/TAO/tao/TypeCode/TypeCode_Default_Case.h
@@ -23,7 +23,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/TypeCode_Case_Base.h"
+#include "tao/TypeCode_Case.h"
namespace TAO
@@ -39,7 +39,7 @@ namespace TAO
*
*/
template <typename STRING_TYPE>
- class Default_Case : public Case_Base<STRING_TYPE>
+ class Default_Case : public Case<STRING_TYPE>
{
public:
diff --git a/TAO/tao/TypeCode/TypeCode_Non_Default_Case.h b/TAO/tao/TypeCode/TypeCode_Non_Default_Case.h
index 1a8ae547e77..1488fdd61d0 100644
--- a/TAO/tao/TypeCode/TypeCode_Non_Default_Case.h
+++ b/TAO/tao/TypeCode/TypeCode_Non_Default_Case.h
@@ -59,9 +59,9 @@ namespace TAO
char const *> Foo_Case;
* Foo_Case _tao_cases_Foo[] =
* {
- * { Foo_Case (0, "a", &CORBA::_tc_short),
- * { Foo_Case (1, "b", &CORBA::_tc_short),
- * { Foo_Case (2, "c", &CORBA::_tc_long)
+ * Foo_Case (0, "a", &CORBA::_tc_short),
+ * Foo_Case (1, "b", &CORBA::_tc_short),
+ * Foo_Case (2, "c", &CORBA::_tc_long)
* };
* \endcode
*
diff --git a/TAO/tao/TypeCode/Union_TypeCode.cpp b/TAO/tao/TypeCode/Union_TypeCode.cpp
index 9a343de8b15..78f851a3ced 100644
--- a/TAO/tao/TypeCode/Union_TypeCode.cpp
+++ b/TAO/tao/TypeCode/Union_TypeCode.cpp
@@ -229,27 +229,23 @@ TAO::TypeCode::Union<StringType,
{
case_type * tc_cases = 0;
- ACE_Auto_Array_Ptr<Case> safe_cases;
+ ACE_Auto_Array_Ptr<Case<CORBA::String_var> > safe_cases;
- CORBA::ULong const len = this->case_count ();
-
-............. BUSTED ... NO DEFAULT CASE HANDLING ... SORT OF ...
-
- if (len > 0)
+ if (this->ncases_ > 0)
{
// Dynamically construct a new array of cases stripped of
// member names.
ACE_NEW_THROW_EX (tc_cases,
- case_type[len],
+ case_type[this->ncases_],
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
- safe_cases.reset (cases);
+ safe_cases.reset (tc_cases);
static char const * empty_name = "";
- for (CORBA::ULong i = 0; i < len; ++i)
+ for (CORBA::ULong i = 0; i < this->ncases_; ++i)
{
// Member names will be stripped, i.e. not embedded within
// the compact TypeCode.
@@ -261,6 +257,7 @@ TAO::TypeCode::Union<StringType,
}
}
+ // Create the compact union TypeCode.
TAO_TypeCodeFactory_Adapter * adapter =
ACE_Dynamic_Service<TAO_TypeCodeFactory_Adapter>::instance (
TAO_ORB_Core::typecodefactory_adapter_name ());
@@ -275,7 +272,14 @@ TAO::TypeCode::Union<StringType,
this->kind_i (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
- tc = adapter->_tao_create_union_tc (........ FIX ME ....
+ tc = adapter->_tao_create_union_tc (this->base_attributes_.id (),
+ "", /* empty name */
+ this->discriminant_type_,
+ tc_cases,
+ this->ncases_,
+ this->default_index_,
+ "",
+ CORBA::TypeCode_ptr * default_member_type
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());