diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-22 21:34:36 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-22 21:34:36 +0000 |
commit | f069fdbe018e9aaabecd369c8eaea40b6cd50338 (patch) | |
tree | 5b3bc9b07f47e4dcea34d578b5e257f41c2af4e8 | |
parent | 237dd03983332dac42274b659299a060444df0b1 (diff) | |
download | ATCD-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.cpp | 46 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynAnyFactory.h | 29 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynCommon.cpp | 369 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynCommon.h | 286 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValueBox_i.cpp | 69 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValueBox_i.h | 90 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValueCommon_i.cpp | 48 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValueCommon_i.h | 73 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValue_i.cpp | 88 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynValue_i.h | 101 | ||||
-rw-r--r-- | TAO/tao/DynamicAny/DynamicAny.pidl | 573 |
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_ |