summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-22 21:34:36 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-22 21:34:36 +0000
commitf069fdbe018e9aaabecd369c8eaea40b6cd50338 (patch)
tree5b3bc9b07f47e4dcea34d578b5e257f41c2af4e8
parent237dd03983332dac42274b659299a060444df0b1 (diff)
downloadATCD-f069fdbe018e9aaabecd369c8eaea40b6cd50338.tar.gz
ChangeLogTag: Fri Sep 22 21:29:26 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/tao/DynamicAny/DynAnyFactory.cpp46
-rw-r--r--TAO/tao/DynamicAny/DynAnyFactory.h29
-rw-r--r--TAO/tao/DynamicAny/DynCommon.cpp369
-rw-r--r--TAO/tao/DynamicAny/DynCommon.h286
-rw-r--r--TAO/tao/DynamicAny/DynValueBox_i.cpp69
-rw-r--r--TAO/tao/DynamicAny/DynValueBox_i.h90
-rw-r--r--TAO/tao/DynamicAny/DynValueCommon_i.cpp48
-rw-r--r--TAO/tao/DynamicAny/DynValueCommon_i.h73
-rw-r--r--TAO/tao/DynamicAny/DynValue_i.cpp88
-rw-r--r--TAO/tao/DynamicAny/DynValue_i.h101
-rw-r--r--TAO/tao/DynamicAny/DynamicAny.pidl573
11 files changed, 1526 insertions, 246 deletions
diff --git a/TAO/tao/DynamicAny/DynAnyFactory.cpp b/TAO/tao/DynamicAny/DynAnyFactory.cpp
index cdc92ac4c3c..33e2e77d355 100644
--- a/TAO/tao/DynamicAny/DynAnyFactory.cpp
+++ b/TAO/tao/DynamicAny/DynAnyFactory.cpp
@@ -104,6 +104,52 @@ TAO_DynAnyFactory::create_dyn_any_from_type_code (
}
DynamicAny::DynAny_ptr
+TAO_DynAnyFactory::create_dyn_any_without_truncation (
+ const CORBA::Any & /* value */
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAnyFactory::InconsistentTypeCode,
+ DynamicAny::MustTruncate
+ ))
+{
+ // TODO
+ return DynamicAny::DynAny::_nil ();
+}
+
+DynamicAny::DynAnySeq *
+TAO_DynAnyFactory::create_multiple_dyn_anys (
+ const DynamicAny::AnySeq & /* values */,
+ ::CORBA::Boolean /* allow_truncate */
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAnyFactory::InconsistentTypeCode,
+ DynamicAny::MustTruncate
+ ))
+{
+ // TODO
+ return 0;
+}
+
+DynamicAny::AnySeq *
+TAO_DynAnyFactory::create_multiple_anys (
+ const DynamicAny::DynAnySeq & /* values */
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ // TODO
+ return 0;
+}
+
+//*******************************************************************
+
+DynamicAny::DynAny_ptr
TAO_DynAnyFactory::make_dyn_any (const CORBA::Any &any
ACE_ENV_ARG_DECL)
{
diff --git a/TAO/tao/DynamicAny/DynAnyFactory.h b/TAO/tao/DynamicAny/DynAnyFactory.h
index f37cda716b8..1a02019b529 100644
--- a/TAO/tao/DynamicAny/DynAnyFactory.h
+++ b/TAO/tao/DynamicAny/DynAnyFactory.h
@@ -84,6 +84,35 @@ public:
DynamicAny::DynAnyFactory::InconsistentTypeCode
));
+ virtual DynamicAny::DynAny_ptr create_dyn_any_without_truncation (
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAnyFactory::InconsistentTypeCode,
+ DynamicAny::MustTruncate
+ ));
+
+ virtual DynamicAny::DynAnySeq * create_multiple_dyn_anys (
+ const DynamicAny::AnySeq & values,
+ ::CORBA::Boolean allow_truncate
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAnyFactory::InconsistentTypeCode,
+ DynamicAny::MustTruncate
+ ));
+
+ virtual DynamicAny::AnySeq * create_multiple_anys (
+ const DynamicAny::DynAnySeq & values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
private:
// Not allowed.
TAO_DynAnyFactory (const TAO_DynAnyFactory &src);
diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp
index 0a37bd4f9fe..d1b3cc29d2d 100644
--- a/TAO/tao/DynamicAny/DynCommon.cpp
+++ b/TAO/tao/DynamicAny/DynCommon.cpp
@@ -14,12 +14,10 @@
#include "ace/OS_NS_wchar.h"
#include "ace/OS_NS_string.h"
-
ACE_RCSID (DynamicAny,
DynCommon,
"$Id$")
-
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
TAO_DynCommon::TAO_DynCommon (void)
@@ -1644,6 +1642,373 @@ TAO_DynCommon::component_count (ACE_ENV_SINGLE_ARG_DECL)
return this->component_count_;
}
+// ****************************************************************
+
+void
+TAO_DynCommon::insert_abstract (CORBA::AbstractBase_ptr /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ // TODO
+}
+
+CORBA::AbstractBase_ptr
+TAO_DynCommon::get_abstract (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ // TODO
+ return CORBA::AbstractBase::_nil ();
+}
+
+// ****************************************************************
+
+void
+TAO_DynCommon::insert_boolean_seq (
+ const CORBA::BooleanSeq &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ if (this->destroyed_)
+ {
+ ACE_THROW (CORBA::OBJECT_NOT_EXIST ());
+ }
+
+ if (this->has_components_)
+ {
+ DynamicAny::DynAny_var cc =
+ this->check_component (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ cc->insert_boolean_seq (value
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ this->check_type (CORBA::_tc_BooleanSeq
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->any_ <<= value;
+ }
+}
+
+void
+TAO_DynCommon::insert_octet_seq (
+ const CORBA::OctetSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_char_seq (
+ const CORBA::CharSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_short_seq (
+ const CORBA::ShortSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_ushort_seq (
+ const CORBA::UShortSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_long_seq (
+ const CORBA::LongSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_ulong_seq (
+ const CORBA::ULongSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_float_seq (
+ const CORBA::FloatSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_double_seq (
+ const CORBA::DoubleSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_longlong_seq (
+ const CORBA::LongLongSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_ulonglong_seq (
+ const CORBA::ULongLongSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_longdouble_seq (
+ const CORBA::LongDoubleSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+void
+TAO_DynCommon::insert_wchar_seq (
+ const CORBA::WCharSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+// ****************************************************************
+
+CORBA::BooleanSeq *
+TAO_DynCommon::get_boolean_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::OctetSeq *
+TAO_DynCommon::get_octet_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::CharSeq *
+TAO_DynCommon::get_char_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::ShortSeq *
+TAO_DynCommon::get_short_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::UShortSeq *
+TAO_DynCommon::get_ushort_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::LongSeq *
+TAO_DynCommon::get_long_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::ULongSeq *
+TAO_DynCommon::get_ulong_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::FloatSeq *
+TAO_DynCommon::get_float_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::DoubleSeq *
+TAO_DynCommon::get_double_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::LongLongSeq *
+TAO_DynCommon::get_longlong_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::ULongLongSeq *
+TAO_DynCommon::get_ulonglong_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::LongDoubleSeq *
+TAO_DynCommon::get_longdouble_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::WCharSeq *
+TAO_DynCommon::get_wchar_seq (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+// ****************************************************************
+
void
TAO_DynCommon::set_flag (DynamicAny::DynAny_ptr component,
CORBA::Boolean destroying
diff --git a/TAO/tao/DynamicAny/DynCommon.h b/TAO/tao/DynamicAny/DynCommon.h
index dccc16e617a..83cd4dc12bf 100644
--- a/TAO/tao/DynamicAny/DynCommon.h
+++ b/TAO/tao/DynamicAny/DynCommon.h
@@ -48,7 +48,6 @@ public:
virtual CORBA::TypeCode_ptr type (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
@@ -56,7 +55,6 @@ public:
virtual void assign (
DynamicAny::DynAny_ptr dyn_any
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch
@@ -65,7 +63,6 @@ public:
virtual void insert_boolean (
CORBA::Boolean value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -75,7 +72,6 @@ public:
virtual void insert_octet (
CORBA::Octet value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -85,13 +81,11 @@ public:
virtual void insert_char (
CORBA::Char value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
DynamicAny::DynAny::InvalidValue
));
-
virtual void insert_short (
CORBA::Short value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
@@ -101,7 +95,6 @@ public:
DynamicAny::DynAny::TypeMismatch,
DynamicAny::DynAny::InvalidValue
));
-
virtual void insert_ushort (
CORBA::UShort value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
@@ -115,7 +108,6 @@ public:
virtual void insert_long (
CORBA::Long value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -125,7 +117,6 @@ public:
virtual void insert_ulong (
CORBA::ULong value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -135,7 +126,6 @@ public:
virtual void insert_float (
CORBA::Float value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -145,7 +135,6 @@ public:
virtual void insert_double (
CORBA::Double value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -155,7 +144,6 @@ public:
virtual void insert_string (
const char * value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -165,7 +153,6 @@ public:
virtual void insert_reference (
CORBA::Object_ptr value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -175,7 +162,6 @@ public:
virtual void insert_typecode (
CORBA::TypeCode_ptr value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -185,7 +171,6 @@ public:
virtual void insert_longlong (
CORBA::LongLong value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -195,7 +180,6 @@ public:
virtual void insert_ulonglong (
CORBA::ULongLong value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -205,7 +189,6 @@ public:
virtual void insert_longdouble (
CORBA::LongDouble value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -215,7 +198,6 @@ public:
virtual void insert_wchar (
CORBA::WChar value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -225,7 +207,6 @@ public:
virtual void insert_wstring (
const CORBA::WChar * value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -235,7 +216,6 @@ public:
virtual void insert_any (
const CORBA::Any & value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -245,7 +225,6 @@ public:
virtual void insert_dyn_any (
DynamicAny::DynAny_ptr value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -255,7 +234,6 @@ public:
virtual void insert_val (
CORBA::ValueBase * value
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -264,7 +242,6 @@ public:
virtual CORBA::Boolean get_boolean (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -273,7 +250,6 @@ public:
virtual CORBA::Octet get_octet (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -282,7 +258,6 @@ public:
virtual CORBA::Char get_char (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -291,7 +266,6 @@ public:
virtual CORBA::Short get_short (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -300,7 +274,6 @@ public:
virtual CORBA::UShort get_ushort (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -309,7 +282,6 @@ public:
virtual CORBA::Long get_long (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -318,7 +290,6 @@ public:
virtual CORBA::ULong get_ulong (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -327,7 +298,6 @@ public:
virtual CORBA::Float get_float (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -336,7 +306,6 @@ public:
virtual CORBA::Double get_double (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -345,7 +314,6 @@ public:
virtual char * get_string (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -354,7 +322,6 @@ public:
virtual CORBA::Object_ptr get_reference (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -363,7 +330,6 @@ public:
virtual CORBA::TypeCode_ptr get_typecode (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -372,7 +338,6 @@ public:
virtual CORBA::LongLong get_longlong (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -381,7 +346,6 @@ public:
virtual CORBA::ULongLong get_ulonglong (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -390,7 +354,6 @@ public:
virtual CORBA::LongDouble get_longdouble (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -399,7 +362,6 @@ public:
virtual CORBA::WChar get_wchar (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -408,7 +370,6 @@ public:
virtual CORBA::WChar * get_wstring (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -417,7 +378,6 @@ public:
virtual CORBA::Any * get_any (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -426,7 +386,6 @@ public:
virtual DynamicAny::DynAny_ptr get_dyn_any (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -435,7 +394,6 @@ public:
virtual CORBA::ValueBase * get_val (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException,
DynamicAny::DynAny::TypeMismatch,
@@ -445,40 +403,272 @@ public:
virtual CORBA::Boolean seek (
CORBA::Long index
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
virtual void rewind (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
virtual CORBA::Boolean next (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
virtual DynamicAny::DynAny_ptr copy (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
virtual CORBA::ULong component_count (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((
CORBA::SystemException
));
-protected:
+ virtual void insert_abstract (
+ CORBA::AbstractBase_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::AbstractBase_ptr get_abstract (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_boolean_seq (
+ const CORBA::BooleanSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_octet_seq (
+ const CORBA::OctetSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_char_seq (
+ const CORBA::CharSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_short_seq (
+ const CORBA::ShortSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_ushort_seq (
+ const CORBA::UShortSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_long_seq (
+ const CORBA::LongSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_ulong_seq (
+ const CORBA::ULongSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_float_seq (
+ const CORBA::FloatSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_double_seq (
+ const CORBA::DoubleSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_longlong_seq (
+ const CORBA::LongLongSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_ulonglong_seq (
+ const CORBA::ULongLongSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_longdouble_seq (
+ const CORBA::LongDoubleSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void insert_wchar_seq (
+ const CORBA::WCharSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::BooleanSeq * get_boolean_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::OctetSeq * get_octet_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::CharSeq * get_char_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::ShortSeq * get_short_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::UShortSeq * get_ushort_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::LongSeq * get_long_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::ULongSeq * get_ulong_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::FloatSeq * get_float_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::DoubleSeq * get_double_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::LongLongSeq * get_longlong_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::ULongLongSeq * get_ulonglong_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::LongDoubleSeq * get_longdouble_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::WCharSeq * get_wchar_seq (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
/// This sets one of two flags in this base class. CORBA 2.4.2
/// requires that destroy() do nothing if it is called on
/// the result of current_component(), the only non-deep-copying
diff --git a/TAO/tao/DynamicAny/DynValueBox_i.cpp b/TAO/tao/DynamicAny/DynValueBox_i.cpp
new file mode 100644
index 00000000000..ae1a690a5a8
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValueBox_i.cpp
@@ -0,0 +1,69 @@
+// $Id$
+
+#include "tao/DynamicAny/DynValueBox_i.h"
+
+ACE_RCSID (DynamicAny,
+ DynValueBox_i,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_DynValueBox_i::TAO_DynValueBox_i (void)
+{
+}
+
+TAO_DynValueBox_i::~TAO_DynValueBox_i (void)
+{
+}
+
+CORBA::Any *
+TAO_DynValueBox_i::get_boxed_value (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+void
+TAO_DynValueBox_i::set_boxed_value (
+ const CORBA::Any & /* boxed */
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+DynamicAny::DynAny_ptr
+TAO_DynValueBox_i::get_boxed_value_as_dyn_any (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return DynamicAny::DynAny::_nil ();
+}
+
+void
+TAO_DynValueBox_i::set_boxed_value_as_dyn_any (
+ DynamicAny::DynAny_ptr /* boxed */
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch
+ ))
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
diff --git a/TAO/tao/DynamicAny/DynValueBox_i.h b/TAO/tao/DynamicAny/DynValueBox_i.h
new file mode 100644
index 00000000000..b2ca46aec92
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValueBox_i.h
@@ -0,0 +1,90 @@
+// -*- C++ -*-
+//
+// $Id$
+
+//=============================================================================
+/**
+ * @file DynValueBox_i.h
+ *
+ * $Id$
+ *
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_DYNVALUEBOX_I_H
+#define TAO_DYNVALUEBOX_I_H
+#include /**/ "ace/pre.h"
+
+#include "tao/DynamicAny/DynValueCommon_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined (_MSC_VER)
+# pragma warning(push)
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_DynValueBox_i
+ *
+ * @brief Implementation of the DynValueBox class.
+ */
+class TAO_DynamicAny_Export TAO_DynValueBox_i
+ : public virtual DynamicAny::DynValueBox,
+ public virtual TAO_DynValueCommon_i
+{
+public:
+ TAO_DynValueBox_i (void);
+
+ ~TAO_DynValueBox_i (void);
+
+ virtual CORBA::Any * get_boxed_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void set_boxed_value (
+ const CORBA::Any & boxed
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual DynamicAny::DynAny_ptr get_boxed_value_as_dyn_any (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual void set_boxed_value_as_dyn_any (
+ DynamicAny::DynAny_ptr boxed
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch
+ ));
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_DYNVALUEBOX_I_H */
diff --git a/TAO/tao/DynamicAny/DynValueCommon_i.cpp b/TAO/tao/DynamicAny/DynValueCommon_i.cpp
new file mode 100644
index 00000000000..9637088f987
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValueCommon_i.cpp
@@ -0,0 +1,48 @@
+// $Id$
+
+#include "tao/DynamicAny/DynValueCommon_i.h"
+
+ACE_RCSID (DynamicAny,
+ DynValueCommon_i,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_DynValueCommon_i::TAO_DynValueCommon_i (void)
+{
+}
+
+TAO_DynValueCommon_i::~TAO_DynValueCommon_i (void)
+{
+}
+
+CORBA::Boolean
+TAO_DynValueCommon_i::is_null (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return true;
+}
+
+void
+TAO_DynValueCommon_i::set_to_null (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+}
+
+void
+TAO_DynValueCommon_i::set_to_value (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
diff --git a/TAO/tao/DynamicAny/DynValueCommon_i.h b/TAO/tao/DynamicAny/DynValueCommon_i.h
new file mode 100644
index 00000000000..67fb719f242
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValueCommon_i.h
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//
+// $Id$
+
+//=============================================================================
+/**
+ * @file DynValueCommon_i.h
+ *
+ * $Id$
+ *
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_DYNVALUECOMMON_I_H
+#define TAO_DYNVALUECOMMON_I_H
+#include /**/ "ace/pre.h"
+
+#include "tao/DynamicAny/DynAny_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined (_MSC_VER)
+# pragma warning(push)
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_DynValueCommon_i
+ *
+ * @brief Implementation of the DynValueCommon class.
+ */
+class TAO_DynamicAny_Export TAO_DynValueCommon_i
+ : public virtual DynamicAny::DynValueCommon,
+ public virtual TAO_DynAny_i
+{
+public:
+ TAO_DynValueCommon_i (void);
+
+ ~TAO_DynValueCommon_i (void);
+
+ virtual CORBA::Boolean is_null (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void set_to_null (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void set_to_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_DYNVALUECOMMON_I_H */
diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp
new file mode 100644
index 00000000000..316eeed5bd5
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValue_i.cpp
@@ -0,0 +1,88 @@
+// $Id$
+
+#include "tao/DynamicAny/DynValue_i.h"
+
+ACE_RCSID (DynamicAny,
+ DynValue_i,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_DynValue_i::TAO_DynValue_i (void)
+{
+}
+
+TAO_DynValue_i::~TAO_DynValue_i (void)
+{
+}
+
+char *
+TAO_DynValue_i::current_member_name (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return 0;
+}
+
+CORBA::TCKind
+TAO_DynValue_i::current_member_kind (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+ return CORBA::tk_null;
+}
+
+DynamicAny::NameValuePairSeq *
+TAO_DynValue_i::get_members (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return 0;
+}
+
+void
+TAO_DynValue_i::set_members (
+ const DynamicAny::NameValuePairSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+DynamicAny::NameDynAnyPairSeq *
+TAO_DynValue_i::get_members_as_dyn_any (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return 0;
+}
+
+void
+TAO_DynValue_i::set_members_as_dyn_any (
+ const DynamicAny::NameDynAnyPairSeq & /* value */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ))
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h
new file mode 100644
index 00000000000..ebcba525df5
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynValue_i.h
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// $Id$
+
+//=============================================================================
+/**
+ * @file DynValue_i.h
+ *
+ * $Id$
+ *
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_DYNVALUE_I_H
+#define TAO_DYNVALUE_I_H
+#include /**/ "ace/pre.h"
+
+#include "tao/DynamicAny/DynValueCommon_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined (_MSC_VER)
+# pragma warning(push)
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_DynValue_i
+ *
+ * @brief Implementation of the DynValue class.
+ */
+class TAO_DynamicAny_Export TAO_DynValue_i
+ : public virtual DynamicAny::DynValue,
+ public virtual TAO_DynValueCommon_i
+{
+public:
+ TAO_DynValue_i (void);
+
+ ~TAO_DynValue_i (void);
+
+ virtual char * current_member_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual CORBA::TCKind current_member_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual DynamicAny::NameValuePairSeq * get_members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void set_members (
+ const DynamicAny::NameValuePairSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+
+ virtual DynamicAny::NameDynAnyPairSeq * get_members_as_dyn_any (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void set_members_as_dyn_any (
+ const DynamicAny::NameDynAnyPairSeq & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ DynamicAny::DynAny::TypeMismatch,
+ DynamicAny::DynAny::InvalidValue
+ ));
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_DYNVALUE_I_H */
diff --git a/TAO/tao/DynamicAny/DynamicAny.pidl b/TAO/tao/DynamicAny/DynamicAny.pidl
index 345f25bad8c..a8d9aaaa243 100644
--- a/TAO/tao/DynamicAny/DynamicAny.pidl
+++ b/TAO/tao/DynamicAny/DynamicAny.pidl
@@ -5,217 +5,398 @@
*
* $Id$
*
- * @brief Pre-compiled IDL source for the DynamicAny module.
+ * @brief IDL source for the DynamicAny module.
*
- * This file is used to generate the code in DynamicAnyC.{h,i,cpp}, it
+ * This file is used to generate the code in DynamicAnyC.{h,cpp}, it
* was obtained from the OMG website as part of the full CORBA IDL,
- * the document reference number is: formal/00-04-01, or use the
+ * the document reference number is: formal/04-03-01, or use the
* following URL:
* http://www.omg.org/technology/documents/formal/corba_omg_idl_text_file.htm
*
* We couldn't find a copyright notice in the document, but it is safe
- * to assume that it is Copyright (C) 2000, OMG.
- *
- * We performed some modifications to the file, mainly to use local
- * interfaces (part of what is coming in CORBA 3.0)
- *
- * The command used to generate code from this file is:
- *
- * tao_idl \
- * -o orig -Gp -Sci -Gd -Ge 1 -Sa -St -I../.. \
- * -Wb,export_macro=TAO_DynamicAny_Export \
- * -Wb,export_include=dynamicany_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL \
- * -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL \
- * DynamicAny.pidl
- *
- * after the file is generated a patch must be applied. The patch
- * fixes some problems with interceptors and local interfaces and
- * disables parts of the code under certain configurations.
- *
- * Apply patches using:
- *
- * patch < diffs/DynamicAny.diff
- *
- * Note: The diffs are generated using:
- *
- * for i in DynamicAnyC.{h,cpp}; do
- * diff -wbu orig/$i $i > diffs/DynamicAny.diff
- * done
+ * to assume that it is Copyright (C) 2004, OMG.
*
*/
#ifndef _DYNAMIC_ANY_IDL_
#define _DYNAMIC_ANY_IDL_
-#pragma prefix "omg.org"
-
#include "tao/Typecode_types.pidl"
+#include "tao/BooleanSeq.pidl"
+#include "tao/CharSeq.pidl"
+#include "tao/DoubleSeq.pidl"
+#include "tao/FloatSeq.pidl"
+#include "tao/LongDoubleSeq.pidl"
+#include "tao/LongLongSeq.pidl"
+#include "tao/LongSeq.pidl"
+#include "tao/OctetSeq.pidl"
+#include "tao/BooleanSeq.pidl"
+#include "tao/ShortSeq.pidl"
+#include "tao/ULongLongSeq.pidl"
+#include "tao/ULongSeq.pidl"
+#include "tao/UShortSeq.pidl"
+#include "tao/WCharSeq.pidl"
+
+module DynamicAny
+{
+ typeprefix DynamicAny "omg.org";
+
+ local interface DynAny
+ {
+ exception InvalidValue {};
+ exception TypeMismatch {};
+
+ CORBA::TypeCode type ();
+
+ void assign (in DynAny dyn_any)
+ raises (TypeMismatch);
+
+ void from_any (in any value)
+ raises (TypeMismatch, InvalidValue);
+
+ any to_any ();
+
+ boolean equal (in DynAny dyn_any);
+
+ void destroy ();
+
+ DynAny copy ();
+
+ void insert_boolean (in boolean value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_octet (in octet value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_char (in char value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_short (in short value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ushort (in unsigned short value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_long (in long value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ulong (in unsigned long value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_float (in float value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_double (in double value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_string (in string value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_reference (in Object value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_typecode (in CORBA::TypeCode value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_longlong (in long long value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ulonglong (in unsigned long long value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_longdouble (in long double value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_wchar (in wchar value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_wstring (in wstring value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_any (in any value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_dyn_any (in DynAny value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_val (in ValueBase value)
+ raises (TypeMismatch, InvalidValue);
+
+ boolean get_boolean ()
+ raises (TypeMismatch, InvalidValue);
+ octet get_octet ()
+ raises (TypeMismatch, InvalidValue);
+ char get_char ()
+ raises (TypeMismatch, InvalidValue);
+ short get_short ()
+ raises (TypeMismatch, InvalidValue);
+ unsigned short get_ushort ()
+ raises (TypeMismatch, InvalidValue);
+ long get_long ()
+ raises (TypeMismatch, InvalidValue);
+ unsigned long get_ulong ()
+ raises (TypeMismatch, InvalidValue);
+ float get_float ()
+ raises (TypeMismatch, InvalidValue);
+ double get_double ()
+ raises (TypeMismatch, InvalidValue);
+ string get_string ()
+ raises (TypeMismatch, InvalidValue);
+ Object get_reference ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::TypeCode get_typecode ()
+ raises (TypeMismatch, InvalidValue);
+ long long get_longlong ()
+ raises (TypeMismatch, InvalidValue);
+ unsigned long long get_ulonglong ()
+ raises (TypeMismatch, InvalidValue);
+ long double get_longdouble ()
+ raises (TypeMismatch, InvalidValue);
+ wchar get_wchar ()
+ raises (TypeMismatch, InvalidValue);
+ wstring get_wstring ()
+ raises (TypeMismatch, InvalidValue);
+ any get_any ()
+ raises (TypeMismatch, InvalidValue);
+ DynAny get_dyn_any ()
+ raises (TypeMismatch, InvalidValue);
+ ValueBase get_val ()
+ raises (TypeMismatch, InvalidValue);
+
+ boolean seek (in long index);
+
+ void rewind ();
+
+ boolean next ();
+
+ unsigned long component_count ();
+
+ DynAny current_component ()
+ raises (TypeMismatch);
+
+ void insert_abstract (in CORBA::AbstractBase value)
+ raises (TypeMismatch, InvalidValue);
+
+ CORBA::AbstractBase get_abstract ()
+ raises (TypeMismatch, InvalidValue);
+
+ void insert_boolean_seq (in CORBA::BooleanSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_octet_seq (in CORBA::OctetSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_char_seq (in CORBA::CharSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_short_seq (in CORBA::ShortSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ushort_seq (in CORBA::UShortSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_long_seq (in CORBA::LongSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ulong_seq (in CORBA::ULongSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_float_seq (in CORBA::FloatSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_double_seq (in CORBA::DoubleSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_longlong_seq (in CORBA::LongLongSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_ulonglong_seq (in CORBA::ULongLongSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_longdouble_seq (in CORBA::LongDoubleSeq value)
+ raises (TypeMismatch, InvalidValue);
+ void insert_wchar_seq (in CORBA::WCharSeq value)
+ raises (TypeMismatch, InvalidValue);
+
+ CORBA::BooleanSeq get_boolean_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::OctetSeq get_octet_seq()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::CharSeq get_char_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::ShortSeq get_short_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::UShortSeq get_ushort_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::LongSeq get_long_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::ULongSeq get_ulong_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::FloatSeq get_float_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::DoubleSeq get_double_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::LongLongSeq get_longlong_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::ULongLongSeq get_ulonglong_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::LongDoubleSeq get_longdouble_seq ()
+ raises (TypeMismatch, InvalidValue);
+ CORBA::WCharSeq get_wchar_seq ()
+ raises (TypeMismatch, InvalidValue);
+ };
+
+ local interface DynFixed : DynAny
+ {
+ string get_value ();
+
+ boolean set_value (in string val)
+ raises (TypeMismatch, InvalidValue);
+ };
+
+ local interface DynEnum : DynAny
+ {
+ string get_as_string ();
+
+ void set_as_string (in string value)
+ raises (InvalidValue);
+
+ unsigned long get_as_ulong ();
+
+ void set_as_ulong (in unsigned long value)
+ raises (InvalidValue);
+ };
+
+ typedef string FieldName;
+
+ struct NameValuePair
+ {
+ FieldName id;
+ any value;
+ };
+
+ typedef sequence<NameValuePair> NameValuePairSeq;
+
+ struct NameDynAnyPair
+ {
+ FieldName id;
+ DynAny value;
+ };
+
+ typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
+
+ local interface DynStruct : DynAny
+ {
+ FieldName current_member_name ()
+ raises (TypeMismatch, InvalidValue);
+
+ CORBA::TCKind current_member_kind ()
+ raises (TypeMismatch, InvalidValue);
+
+ NameValuePairSeq get_members ();
+
+ void set_members (in NameValuePairSeq value)
+ raises (TypeMismatch, InvalidValue);
+
+ NameDynAnyPairSeq get_members_as_dyn_any ();
+
+ void set_members_as_dyn_any (in NameDynAnyPairSeq value)
+ raises (TypeMismatch, InvalidValue);
+ };
+
+ local interface DynUnion : DynAny
+ {
+ DynAny get_discriminator ();
+
+ void set_discriminator (in DynAny d)
+ raises (TypeMismatch);
+
+ void set_to_default_member ()
+ raises (TypeMismatch);
+
+ void set_to_no_active_member ()
+ raises (TypeMismatch);
+
+ boolean has_no_active_member ();
+
+ CORBA::TCKind discriminator_kind ();
+
+ DynAny member () raises (InvalidValue);
+
+ FieldName member_name ()
+ raises (InvalidValue);
+
+ CORBA::TCKind member_kind ()
+ raises (InvalidValue);
+ };
+
+ typedef sequence<any> AnySeq;
+ typedef sequence<DynAny> DynAnySeq;
+
+ local interface DynSequence : DynAny
+ {
+ unsigned long get_length ();
+
+ void set_length (in unsigned long len)
+ raises (InvalidValue);
+
+ AnySeq get_elements ();
+
+ void set_elements (in AnySeq value)
+ raises (TypeMismatch, InvalidValue);
+
+ DynAnySeq get_elements_as_dyn_any ();
+
+ void set_elements_as_dyn_any (in DynAnySeq value)
+ raises (TypeMismatch, InvalidValue);
+ };
+
+ local interface DynArray : DynAny
+ {
+ AnySeq get_elements ();
+
+ void set_elements (in AnySeq value)
+ raises (TypeMismatch, InvalidValue);
+
+ DynAnySeq get_elements_as_dyn_any ();
+
+ void set_elements_as_dyn_any (in DynAnySeq value)
+ raises (TypeMismatch, InvalidValue);
+ };
+
+ local interface DynValueCommon : DynAny
+ {
+ boolean is_null ();
+
+ void set_to_null ();
+
+ void set_to_value ();
+ };
+
+ local interface DynValue : DynValueCommon
+ {
+ FieldName current_member_name ()
+ raises (TypeMismatch, InvalidValue);
+
+ CORBA::TCKind current_member_kind ()
+ raises (TypeMismatch, InvalidValue);
+
+ NameValuePairSeq get_members ();
+
+ void set_members (in NameValuePairSeq value)
+ raises (TypeMismatch, InvalidValue);
+
+ NameDynAnyPairSeq get_members_as_dyn_any ();
+
+ void set_members_as_dyn_any (in NameDynAnyPairSeq value)
+ raises (TypeMismatch, InvalidValue);
+ };
-module DynamicAny {
-
- local interface DynAny {
- exception InvalidValue {};
- exception TypeMismatch {};
-
- CORBA::TypeCode type();
-
- void assign( in DynAny dyn_any) raises(TypeMismatch);
- void from_any( in any value) raises(TypeMismatch, InvalidValue);
- any to_any();
-
- boolean equal( in DynAny dyn_any);
-
- void destroy();
- DynAny copy();
- void insert_boolean(in boolean value) raises(TypeMismatch, InvalidValue);
- void insert_octet( in octet value) raises(TypeMismatch, InvalidValue);
- void insert_char( in char value) raises(TypeMismatch, InvalidValue);
- void insert_short( in short value) raises(TypeMismatch, InvalidValue);
- void insert_ushort( in unsigned short
- value) raises(TypeMismatch, InvalidValue);
- void insert_long( in long value) raises(TypeMismatch, InvalidValue);
- void insert_ulong( in unsigned long
- value) raises(TypeMismatch, InvalidValue);
- void insert_float( in float value) raises(TypeMismatch, InvalidValue);
- void insert_double( in double value) raises(TypeMismatch, InvalidValue);
- void insert_string( in string value) raises(TypeMismatch, InvalidValue);
- void insert_reference(in Object value) raises(TypeMismatch, InvalidValue);
- void insert_typecode(in CORBA::TypeCode
- value) raises(TypeMismatch, InvalidValue);
- void insert_longlong(in long long value) raises(TypeMismatch, InvalidValue);
- void insert_ulonglong(in unsigned long long
- value) raises(TypeMismatch, InvalidValue);
- void insert_longdouble(in long double
- value) raises(TypeMismatch, InvalidValue);
- void insert_wchar( in wchar value) raises(TypeMismatch, InvalidValue);
- void insert_wstring(in wstring value) raises(TypeMismatch, InvalidValue);
- void insert_any( in any value) raises(TypeMismatch, InvalidValue);
- void insert_dyn_any(in DynAny value) raises(TypeMismatch, InvalidValue);
- void insert_val( in ValueBase value) raises(TypeMismatch, InvalidValue);
-
- boolean get_boolean() raises(TypeMismatch, InvalidValue);
- octet get_octet() raises(TypeMismatch, InvalidValue);
- char get_char() raises(TypeMismatch, InvalidValue);
- short get_short() raises(TypeMismatch, InvalidValue);
- unsigned short get_ushort() raises(TypeMismatch, InvalidValue);
- long get_long() raises(TypeMismatch, InvalidValue);
- unsigned long get_ulong() raises(TypeMismatch, InvalidValue);
- float get_float() raises(TypeMismatch, InvalidValue);
- double get_double() raises(TypeMismatch, InvalidValue);
- string get_string() raises(TypeMismatch, InvalidValue);
- Object get_reference() raises(TypeMismatch, InvalidValue);
- CORBA::TypeCode get_typecode() raises(TypeMismatch, InvalidValue);
- long long get_longlong() raises(TypeMismatch, InvalidValue);
- unsigned long long get_ulonglong() raises(TypeMismatch, InvalidValue);
- long double get_longdouble() raises(TypeMismatch, InvalidValue);
- wchar get_wchar() raises(TypeMismatch, InvalidValue);
- wstring get_wstring() raises(TypeMismatch, InvalidValue);
- any get_any() raises(TypeMismatch, InvalidValue);
- DynAny get_dyn_any() raises(TypeMismatch, InvalidValue);
- ValueBase get_val() raises(TypeMismatch, InvalidValue);
-
- boolean seek(in long index);
- void rewind();
- boolean next();
- unsigned long component_count();
- DynAny current_component() raises(TypeMismatch);
- };
-
- local interface DynFixed : DynAny {
- string get_value();
- boolean set_value(in string val) raises(TypeMismatch, InvalidValue);
- };
-
- local interface DynEnum : DynAny {
- string get_as_string();
- void set_as_string(in string value)
- raises(InvalidValue);
- unsigned long get_as_ulong();
- void set_as_ulong( in unsigned long value)
- raises(InvalidValue);
- };
- typedef string FieldName;
- struct NameValuePair {
- FieldName id;
- any value;
- };
-
- typedef sequence<NameValuePair> NameValuePairSeq;
- struct NameDynAnyPair {
- FieldName id;
- DynAny value;
- };
-
- typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
- local interface DynStruct : DynAny {
- FieldName current_member_name() raises(TypeMismatch, InvalidValue);
- CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
- NameValuePairSeq get_members();
- void set_members(in NameValuePairSeq value)
- raises(TypeMismatch, InvalidValue);
- NameDynAnyPairSeq get_members_as_dyn_any();
- void set_members_as_dyn_any(in NameDynAnyPairSeq value)
- raises(TypeMismatch, InvalidValue);
- };
-
- local interface DynUnion : DynAny {
- DynAny get_discriminator();
- void set_discriminator(in DynAny d)
- raises(TypeMismatch);
- void set_to_default_member() raises(TypeMismatch);
- void set_to_no_active_member() raises(TypeMismatch);
- boolean has_no_active_member();
- CORBA::TCKind discriminator_kind();
- DynAny member() raises(InvalidValue);
- FieldName member_name() raises(InvalidValue);
- CORBA::TCKind member_kind() raises(InvalidValue);
- };
-
- typedef sequence<any> AnySeq;
- typedef sequence<DynAny> DynAnySeq;
- local interface DynSequence : DynAny {
- unsigned long get_length();
- void set_length(in unsigned long len)
- raises(InvalidValue);
- AnySeq get_elements();
- void set_elements(in AnySeq value)
- raises(TypeMismatch, InvalidValue);
- DynAnySeq get_elements_as_dyn_any();
- void set_elements_as_dyn_any(in DynAnySeq value)
- raises(TypeMismatch, InvalidValue);
- };
-
- local interface DynArray : DynAny {
- AnySeq get_elements();
- void set_elements(in AnySeq value)
- raises(TypeMismatch, InvalidValue);
- DynAnySeq get_elements_as_dyn_any();
- void set_elements_as_dyn_any(in DynAnySeq value)
- raises(TypeMismatch, InvalidValue);
- };
-
- local interface DynValue : DynAny {
- FieldName current_member_name() raises(TypeMismatch, InvalidValue);
- CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
- NameValuePairSeq get_members();
- void set_members(in NameValuePairSeq value)
- raises(TypeMismatch, InvalidValue);
- NameDynAnyPairSeq get_members_as_dyn_any();
- void set_members_as_dyn_any(in NameDynAnyPairSeq value)
- raises(TypeMismatch, InvalidValue);
- };
-
- local interface DynAnyFactory {
- exception InconsistentTypeCode {};
- DynAny create_dyn_any(in any value)
- raises(InconsistentTypeCode);
- DynAny create_dyn_any_from_type_code(in CORBA::TypeCode type)
- raises(InconsistentTypeCode);
- };
+ local interface DynValueBox : DynValueCommon
+ {
+ any get_boxed_value ()
+ raises (InvalidValue);
+
+ void set_boxed_value (in any boxed)
+ raises (TypeMismatch, InvalidValue);
+
+ DynAny get_boxed_value_as_dyn_any ()
+ raises (InvalidValue);
+
+ void set_boxed_value_as_dyn_any (in DynAny boxed)
+ raises (TypeMismatch);
+ };
+
+ exception MustTruncate {};
+ local interface DynAnyFactory
+ {
+ exception InconsistentTypeCode {};
+
+ DynAny create_dyn_any (in any value)
+ raises (InconsistentTypeCode);
+ DynAny create_dyn_any_from_type_code (in CORBA::TypeCode type)
+ raises (InconsistentTypeCode);
+
+ DynAny create_dyn_any_without_truncation (in any value)
+ raises (InconsistentTypeCode, MustTruncate);
+
+ DynAnySeq create_multiple_dyn_anys (in AnySeq values,
+ in boolean allow_truncate)
+ raises (InconsistentTypeCode, MustTruncate);
+
+ AnySeq create_multiple_anys (in DynAnySeq values);
+ };
}; // module DynamicAny
#endif // _DYNAMIC_ANY_IDL_