summaryrefslogtreecommitdiff
path: root/TAO/tao/DynamicAny/DynEnum_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/DynamicAny/DynEnum_i.cpp')
-rw-r--r--TAO/tao/DynamicAny/DynEnum_i.cpp79
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