diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-22 04:34:29 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-22 04:34:29 +0000 |
commit | bdb846618b856a1efdef51706e633e9b2f5e725d (patch) | |
tree | 027243dd9739585a7058c9cea5fb76e0b55df2b5 | |
parent | 63aa58639a381e9aa184c2e84abbf8c1300a484e (diff) | |
download | ATCD-bdb846618b856a1efdef51706e633e9b2f5e725d.tar.gz |
ChangeLogTag:Mon Jun 21 23:34:06 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r-- | TAO/ChangeLog-99c | 11 | ||||
-rw-r--r-- | TAO/tao/IORManipulation.cpp | 24 | ||||
-rw-r--r-- | TAO/tao/IORManipulation.h | 36 | ||||
-rw-r--r-- | TAO/tao/IORS.cpp | 13 | ||||
-rw-r--r-- | TAO/tao/IORS.h | 4 |
5 files changed, 80 insertions, 8 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c index 668c37f8123..f8704bf1117 100644 --- a/TAO/ChangeLog-99c +++ b/TAO/ChangeLog-99c @@ -1,3 +1,14 @@ +Mon Jun 21 23:34:06 1999 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tao/IORManipulation.h: + * tao/IORManipulation.cpp: + Fixed throw specs + + * tao/IORS.h: + * tao/IORS.cpp: + Fixed problems with the _tao_create_collocated() + implementation. + Mon Jun 21 22:56:17 1999 Carlos O'Ryan <coryan@cs.wustl.edu> * orbsvcs/tests/Event/Event.dsw: diff --git a/TAO/tao/IORManipulation.cpp b/TAO/tao/IORManipulation.cpp index 306b87adbc6..30bb984721f 100644 --- a/TAO/tao/IORManipulation.cpp +++ b/TAO/tao/IORManipulation.cpp @@ -35,6 +35,10 @@ CORBA::Object_ptr TAO_IOR_Manipulation_impl::merge_iors ( const TAO_IOP::TAO_IOR_Manipulation::IORList & iors, CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::Duplicate, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR)) { // we need to create a new CORBA::Object which has the union of the // two profile lists. However, if any profiles are duplicates (i.e. in @@ -133,6 +137,12 @@ TAO_IOR_Manipulation_impl::add_profiles ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::Duplicate, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR + )) { // Get an estimate of the number of profiles @@ -148,6 +158,12 @@ TAO_IOR_Manipulation_impl::remove_profiles ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::NotFound + )) { // First verify they are the same type! CORBA::String_var type_id = ior1->_stubobj ()->type_id; @@ -221,6 +237,10 @@ TAO_IOR_Manipulation_impl::is_in_ior ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::NotFound + )) { CORBA::ULong count=0; TAO_Profile *pfile1, *pfile2; @@ -249,6 +269,10 @@ CORBA::ULong TAO_IOR_Manipulation_impl::get_profile_count ( CORBA::Object_ptr ior, CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList + )) { CORBA::ULong count; count = ior->_stubobj ()->get_base_profiles ().profile_count (); diff --git a/TAO/tao/IORManipulation.h b/TAO/tao/IORManipulation.h index ed991faca10..c7616d8ec75 100644 --- a/TAO/tao/IORManipulation.h +++ b/TAO/tao/IORManipulation.h @@ -41,26 +41,52 @@ public: virtual CORBA::Object_ptr merge_iors ( const TAO_IOP::TAO_IOR_Manipulation::IORList & iors, - CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()); + CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::Duplicate, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR + )); virtual CORBA::Object_ptr add_profiles ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, - CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()); + CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::Duplicate, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR + )); virtual CORBA::Object_ptr remove_profiles ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, - CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()); + CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::Invalid_IOR, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList, + TAO_IOP::TAO_IOR_Manipulation::NotFound + )); virtual CORBA::ULong is_in_ior ( CORBA::Object_ptr ior1, CORBA::Object_ptr ior2, - CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()); + CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::NotFound + )); virtual CORBA::ULong get_profile_count ( CORBA::Object_ptr ior, - CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()); + CORBA::Environment &ACE_TRY_ENV = CORBA::default_environment ()) + ACE_THROW_SPEC (( + CORBA::SystemException, + TAO_IOP::TAO_IOR_Manipulation::EmptyProfileList + )); }; #endif /* TAO_IOR_MANIPULATION_H */ diff --git a/TAO/tao/IORS.cpp b/TAO/tao/IORS.cpp index 1a4eca1700d..ec9b0171a95 100644 --- a/TAO/tao/IORS.cpp +++ b/TAO/tao/IORS.cpp @@ -69,9 +69,18 @@ POA_TAO_IOP::TAO_IOR_Manipulation::_this (CORBA_Environment &ACE_TRY_ENV) } void* -POA_TAO_IOP::TAO_IOR_Manipulation::_create_collocated_objref (CORBA::ULong type, TAO_Stub *stub) +POA_TAO_IOP::TAO_IOR_Manipulation::_create_collocated_objref ( + const char* repository_id, + CORBA::ULong type, + TAO_Stub *stub) { - return new POA_TAO_IOP::_tao_collocated_TAO_IOR_Manipulation (this, stub); + ACE_UNUSED_ARG (type); + if (!strcmp ("IDL:TAO_IOP/TAO_IOR_Manipulation:1.0",repository_id)) + return ACE_static_cast ( + TAO_IOP::TAO_IOR_Manipulation_ptr, + new POA_TAO_IOP::_tao_collocated_TAO_IOR_Manipulation (this, stub) + ); + return 0; } POA_TAO_IOP::_tao_collocated_TAO_IOR_Manipulation::_tao_collocated_TAO_IOR_Manipulation ( diff --git a/TAO/tao/IORS.h b/TAO/tao/IORS.h index 61b4bb7f15f..121b00547a2 100644 --- a/TAO/tao/IORS.h +++ b/TAO/tao/IORS.h @@ -54,7 +54,9 @@ TAO_NAMESPACE POA_TAO_IOP virtual const char* _interface_repository_id (void) const; -virtual void* _create_collocated_objref(CORBA::ULong type, TAO_Stub *sobj); + virtual void* _create_collocated_objref(const char *repository_id, + CORBA::ULong type, + TAO_Stub *sobj); virtual CORBA::Object_ptr merge_iors ( const TAO_IOP::TAO_IOR_Manipulation::IORList & iors, |