summaryrefslogtreecommitdiff
path: root/TAO/tao/Exception.h
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2003-08-16 09:37:51 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2003-08-16 09:37:51 +0000
commitc8a19c10f53953963ab6499d0648f3c26ff42453 (patch)
treee76436680bf749124d81df5f6c7fe3c616729d64 /TAO/tao/Exception.h
parent2a59a93e55d572fe29dc2fc9527e761708f849e1 (diff)
downloadATCD-c8a19c10f53953963ab6499d0648f3c26ff42453.tar.gz
ChangeLogTag:Sat Aug 16 02:17:49 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/tao/Exception.h')
-rw-r--r--TAO/tao/Exception.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h
index 877bb2f7e0a..6f4b07606fc 100644
--- a/TAO/tao/Exception.h
+++ b/TAO/tao/Exception.h
@@ -58,17 +58,17 @@ namespace CORBA
*/
/* NOTE:
- According to the OMG CORBA C++ Mapping version 1.1, all
+ According to the OMG CORBA C++ Mapping version 1.1, all
constructors, copy constructors and assignment operators
should be moved to "protected" section in class declarations
Since the current MS Visual C++ 6.0 compiler will cause some
problems to TAO's exception mechanism, so we defer doing this until
- we full migrate from VC 6.0 to VC 7.0 and higher version.
+ we full migrate from VC 6.0 to VC 7.0 and higher version.
This later change only affect the "Exception.h" file and won't
affect the "Exception.cpp" file.
- */
+ */
class TAO_Export Exception
{
@@ -84,7 +84,7 @@ namespace CORBA
virtual ~Exception (void);
// = To throw the exception (when using the standard mapping).
- virtual void _raise (void) = 0;
+ virtual void _raise (void) const = 0;
// = The static narrow operation.
static Exception *_downcast (Exception *x);
@@ -182,7 +182,9 @@ namespace CORBA
static UserException *_downcast (CORBA::Exception *exception);
/// The const version of narrow operation
- static const UserException *_downcast(const CORBA::Exception *exception);
+ static const UserException *_downcast (const CORBA::Exception *exception);
+
+ virtual void _raise (void) const = 0;
// = TAO specific extension.
@@ -245,6 +247,8 @@ namespace CORBA
/// The const version of narrow operation to a SystemException
static const SystemException *_downcast(const CORBA::Exception *exception);
+ virtual void _raise (void) const = 0;
+
// = TAO-specific extension.
/// Helper for the _downcast operation.
@@ -277,7 +281,6 @@ namespace CORBA
/// Overridden base class method to help compilers that use
/// explicit template instantiations going
virtual CORBA::Exception *_tao_duplicate (void) const {return 0;}
- virtual void _raise (void) {}
protected:
@@ -319,7 +322,7 @@ namespace CORBA
name (CORBA::ULong code, \
CORBA::CompletionStatus completed); \
static name * _downcast (CORBA::Exception* exception); \
- virtual void _raise (void); \
+ virtual void _raise (void) const; \
virtual CORBA::TypeCode_ptr _type (void) const; \
static void _tao_any_destructor (void*); \
virtual CORBA::Exception *_tao_duplicate (void) const; \