diff options
Diffstat (limited to 'TAO/tao/DynamicAny/DynEnum_i.cpp')
-rw-r--r-- | TAO/tao/DynamicAny/DynEnum_i.cpp | 79 |
1 files changed, 23 insertions, 56 deletions
diff --git a/TAO/tao/DynamicAny/DynEnum_i.cpp b/TAO/tao/DynamicAny/DynEnum_i.cpp index aa2e8f27d89..7cc69934e98 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.cpp +++ b/TAO/tao/DynamicAny/DynEnum_i.cpp @@ -38,9 +38,7 @@ void TAO_DynEnum_i::init (const CORBA::Any &any) { CORBA::TypeCode_var tc = any.type (); - - CORBA::TCKind kind = - TAO_DynAnyFactory::unalias (tc.in ()); + CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()); if (kind != CORBA::tk_enum) { @@ -53,9 +51,12 @@ TAO_DynEnum_i::init (const CORBA::Any &any) if (impl->encoded ()) { - TAO::Unknown_IDL_Type *unk = + TAO::Unknown_IDL_Type * const unk = dynamic_cast<TAO::Unknown_IDL_Type *> (impl); + if (!unk) + throw CORBA::INTERNAL (); + // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); @@ -106,35 +107,25 @@ TAO_DynEnum_i::_narrow (CORBA::Object_ptr _tao_objref) char * TAO_DynEnum_i::get_as_string (void) - ACE_THROW_SPEC ((CORBA::SystemException)) { - const char *retval = - this->type_.in ()->member_name (this->value_); + const char *retval = this->type_.in ()->member_name (this->value_); return CORBA::string_dup (retval); } void -TAO_DynEnum_i::set_as_string (const char *value_as_string - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DynamicAny::DynAny::InvalidValue - )) +TAO_DynEnum_i::set_as_string (const char *value_as_string) { - CORBA::ULong count = - this->type_.in ()->member_count (); + CORBA::ULong count = this->type_.in ()->member_count (); CORBA::ULong i; const char *temp = 0; for (i = 0; i < count; ++i) { - temp = this->type_.in ()->member_name (i - ); + temp = this->type_.in ()->member_name (i); - if (!ACE_OS::strcmp (value_as_string, - temp)) + if (!ACE_OS::strcmp (value_as_string, temp)) { break; } @@ -152,23 +143,14 @@ TAO_DynEnum_i::set_as_string (const char *value_as_string CORBA::ULong TAO_DynEnum_i::get_as_ulong (void) - ACE_THROW_SPEC (( - CORBA::SystemException - )) { return this->value_; } void -TAO_DynEnum_i::set_as_ulong (CORBA::ULong value_as_ulong - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DynamicAny::DynAny::InvalidValue - )) +TAO_DynEnum_i::set_as_ulong (CORBA::ULong value_as_ulong) { - CORBA::ULong max = - this->type_.in ()->member_count (); + CORBA::ULong const max = this->type_.in ()->member_count (); if (value_as_ulong < max) { @@ -183,13 +165,7 @@ TAO_DynEnum_i::set_as_ulong (CORBA::ULong value_as_ulong // **************************************************************** void -TAO_DynEnum_i::from_any (const CORBA::Any& any - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DynamicAny::DynAny::TypeMismatch, - DynamicAny::DynAny::InvalidValue - )) +TAO_DynEnum_i::from_any (const CORBA::Any& any) { CORBA::TypeCode_var tc = any.type (); CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()); @@ -201,9 +177,12 @@ TAO_DynEnum_i::from_any (const CORBA::Any& any if (impl->encoded ()) { - TAO::Unknown_IDL_Type *unk = + TAO::Unknown_IDL_Type * const unk = dynamic_cast<TAO::Unknown_IDL_Type *> (impl); + if (!unk) + throw CORBA::INTERNAL (); + // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); @@ -225,9 +204,6 @@ TAO_DynEnum_i::from_any (const CORBA::Any& any CORBA::Any_ptr TAO_DynEnum_i::to_any (void) - ACE_THROW_SPEC (( - CORBA::SystemException - )) { TAO_OutputCDR out_cdr; @@ -251,9 +227,6 @@ TAO_DynEnum_i::to_any (void) CORBA::Boolean TAO_DynEnum_i::equal (DynamicAny::DynAny_ptr rhs) - ACE_THROW_SPEC (( - CORBA::SystemException - )) { CORBA::TypeCode_var tc = rhs->type (); @@ -271,9 +244,12 @@ TAO_DynEnum_i::equal (DynamicAny::DynAny_ptr rhs) if (impl->encoded ()) { - TAO::Unknown_IDL_Type *unk = + TAO::Unknown_IDL_Type * const unk = dynamic_cast<TAO::Unknown_IDL_Type *> (impl); + if (!unk) + throw CORBA::INTERNAL (); + // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); @@ -292,9 +268,6 @@ TAO_DynEnum_i::equal (DynamicAny::DynAny_ptr rhs) void TAO_DynEnum_i::destroy (void) - ACE_THROW_SPEC (( - CORBA::SystemException - )) { if (this->destroyed_) { @@ -309,19 +282,13 @@ TAO_DynEnum_i::destroy (void) DynamicAny::DynAny_ptr TAO_DynEnum_i::current_component (void) - ACE_THROW_SPEC (( - CORBA::SystemException, - DynamicAny::DynAny::TypeMismatch - )) { if (this->destroyed_) { - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - DynamicAny::DynAny::_nil ()); + throw ::CORBA::OBJECT_NOT_EXIST (); } - ACE_THROW_RETURN (DynamicAny::DynAny::TypeMismatch (), - DynamicAny::DynAny::_nil ()); + throw DynamicAny::DynAny::TypeMismatch (); } TAO_END_VERSIONED_NAMESPACE_DECL |