diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-24 16:16:54 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-24 16:16:54 +0000 |
commit | a81eebf8f8d88d2c64a0a625ba6e3069d471a47e (patch) | |
tree | dd3531a666769c9a29f6bc1024172c4773159fd1 | |
parent | df5f3b2616720c7ff2224e671c482eaa7049889d (diff) | |
download | ATCD-a81eebf8f8d88d2c64a0a625ba6e3069d471a47e.tar.gz |
ChangeLogTag: Thu Jul 24 11:09:52 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 12 | ||||
-rw-r--r-- | TAO/tao/Exception.cpp | 31 | ||||
-rw-r--r-- | TAO/tao/Exception.h | 68 |
3 files changed, 41 insertions, 70 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 3c6b5076870..428c4327706 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,15 @@ +Thu Jul 24 11:09:52 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * tao/Exception.h: + * tao/Exception.cpp: + + Reverted the previous changes to these files. They were + somehow causing exceptions thrown in the servant to + bypass the catch block in + TAO_ServantBase::synchronous_upcall_dispatch and instead be + caught in TAO_GIOP_Message_Base::process_request, where they + were incorrectly handled. + Thu Jul 24 08:27:07 2003 Venkita Subramonian <venkita@cs.wustl.edu> * README: diff --git a/TAO/tao/Exception.cpp b/TAO/tao/Exception.cpp index 098cfb6fbc1..6e3d37fafaa 100644 --- a/TAO/tao/Exception.cpp +++ b/TAO/tao/Exception.cpp @@ -201,18 +201,6 @@ CORBA::UserException::_downcast (CORBA::Exception* exception) return 0; } -const CORBA::UserException* -CORBA::UserException::_downcast (const CORBA::Exception *exception) -{ - if (exception->_is_a ("IDL:omg.org/CORBA/UserException:1.0")) - { - return ACE_dynamic_cast (const CORBA::UserException *, - exception); - } - - return 0; -} - ACE_CString CORBA::UserException::_info (void) const { @@ -249,13 +237,6 @@ CORBA::SystemException::SystemException (const char *repository_id, { } -CORBA::SystemException::SystemException (CORBA::ULong code, - CORBA::CompletionStatus completed) - : minor_ (code), - completed_ (completed) -{ -} - CORBA::SystemException::SystemException (const CORBA::SystemException &src) : CORBA::Exception (src), minor_ (src.minor_), @@ -298,18 +279,6 @@ CORBA::SystemException::_downcast (CORBA::Exception* exception) return 0; } -const CORBA::SystemException* -CORBA::SystemException::_downcast (const CORBA::Exception *exception) -{ - if (exception->_is_a ("IDL:omg.org/CORBA/SystemException:1.0")) - { - return ACE_dynamic_cast (const CORBA::SystemException *, - exception); - } - - return 0; -} - void CORBA::SystemException::_tao_encode (TAO_OutputCDR &cdr ACE_ENV_ARG_DECL) const diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h index 0049abe77b8..22e7df6bda9 100644 --- a/TAO/tao/Exception.h +++ b/TAO/tao/Exception.h @@ -16,7 +16,7 @@ #ifndef TAO_EXCEPTION_H #define TAO_EXCEPTION_H -#include "ace/pre.h" +#include /**/ "ace/pre.h" #include "tao/corbafwd.h" @@ -60,6 +60,12 @@ namespace CORBA { public: + /// Copy constructor. + Exception (const Exception &src); + + /// Assignment operator. + Exception &operator = (const Exception &src); + /// Destructor. virtual ~Exception (void); @@ -69,13 +75,13 @@ namespace CORBA // = The static narrow operation. static Exception *_downcast (Exception *x); + // = These are TAO-specific extensions. + /// Return the repository ID of the Exception. - virtual const char *_rep_id (void) const; + const char *_rep_id (void) const; /// Return the name of the Exception. - virtual const char *_name (void) const; - - // = These are TAO-specific extensions. + const char *_name (void) const; /// Will be overridden in the concrete derived classes. virtual CORBA::TypeCode_ptr _type (void) const; @@ -133,12 +139,6 @@ namespace CORBA /// Default constructor is protected. Exception (void); - /// Copy constructor is protected. - Exception (const Exception &src); - - /// Assignment operator is protected. - Exception &operator = (const Exception &src); - private: /// Storage of our repository id and local name. char *id_; @@ -155,20 +155,23 @@ namespace CORBA { public: + /// Copy constructor. + UserException (const UserException &src); + /// Destructor. ~UserException (void); + /// Assignment operator. + UserException &operator= (const UserException &src); + /// The narrow operation. static UserException *_downcast (CORBA::Exception *exception); - /// The const version of narrow operation - static const UserException *_downcast(const CORBA::Exception *exception); - // = TAO specific extension. /// Constructor from a repository id. UserException (const char *repository_id, - const char *local_name); + const char *local_name); virtual int _is_a (const char *interface_id) const; @@ -178,16 +181,9 @@ namespace CORBA /// function is not CORBA compliant. virtual ACE_CString _info (void) const; - protected: - + //protected: /// Default constructor. UserException (void); - - /// Copy constructor. - UserException (const UserException &src); - - /// Assignment operator. - UserException &operator= (const UserException &src); }; /** @@ -202,9 +198,18 @@ namespace CORBA { public: + /// Default constructtor + SystemException (void); + + /// Copy constructor. + SystemException (const SystemException &src); + /// Destructor. ~SystemException (void); + /// Assignment operator. + SystemException &operator= (const SystemException &src); + /// Get the minor status. CORBA::ULong minor (void) const; @@ -220,9 +225,6 @@ namespace CORBA /// Narrow to a SystemException. static SystemException *_downcast (CORBA::Exception *exception); - /// The const version of narrow operation to a SystemException - static const SystemException *_downcast(const CORBA::Exception *exception); - // = TAO-specific extension. /// Helper for the _downcast operation. @@ -250,18 +252,6 @@ namespace CORBA static CORBA::ULong _tao_errno (int errno_value); protected: - /// Default constructtor - SystemException (void); - - /// Copy constructor. - SystemException (const SystemException &src); - - /// Assignment operator. - SystemException &operator= (const SystemException &src); - - /// Constructor using a repository id. - SystemException (CORBA::ULong code, - CORBA::CompletionStatus completed); /// Constructor using a repository id. SystemException (const char *repository_id, @@ -432,6 +422,6 @@ public: # include "tao/Exception.i" #endif /* __ACE_INLINE__ */ -#include "ace/post.h" +#include /**/ "ace/post.h" #endif /* TAO_EXCEPTION_H */ |