diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-25 21:47:51 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-25 21:47:51 +0000 |
commit | 21e4062e826122e7f562ee07b43458b9ec354b37 (patch) | |
tree | 7ad632332e4516e94bffc52656197a9dca68fe9d /TAO/tao/Exception.h | |
parent | 1176169043f1d584b4da5625cc1e1c2797554d51 (diff) | |
download | ATCD-21e4062e826122e7f562ee07b43458b9ec354b37.tar.gz |
ChangeLogTag: Thu Apr 25 16:42:04 2002 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Exception.h')
-rw-r--r-- | TAO/tao/Exception.h | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h index 4649d70b29c..a72219a7101 100644 --- a/TAO/tao/Exception.h +++ b/TAO/tao/Exception.h @@ -72,7 +72,10 @@ public: // = These are TAO-specific extensions. /// Return the repository ID of the Exception. - const char *_id (void) const; + const char *_rep_id (void) const; + + /// Return the name of the Exception. + const char *_name (void) const; /// Will be overridden in the concrete derived classes. virtual CORBA::TypeCode_ptr _type (void) const; @@ -81,7 +84,8 @@ public: virtual int _is_a (const char* repository_id) const; /// Constructor from a respository id. - CORBA_Exception (const char* repository_id); + CORBA_Exception (const char *repository_id, + const char *local_name); /// Print the exception <ex> to output determined by <f>. This /// function is not CORBA compliant. @@ -130,8 +134,9 @@ protected: // Default constructor is protected. private: - /// Storage of our repository id. + /// Storage of our repository id and local name. char *id_; + char *name_; }; #if !defined (ACE_LACKS_IOSTREAM_TOTALLY) @@ -168,7 +173,8 @@ public: // = TAO specific extension. /// Constructor from a repository id. - CORBA_UserException (const char* repository_id); + CORBA_UserException (const char *repository_id, + const char *local_name); virtual int _is_a (const char *interface_id) const; @@ -253,14 +259,16 @@ protected: /// Constructor using a repository id. CORBA_SystemException (const char *repository_id, + const char *local_name, CORBA::ULong code, CORBA::CompletionStatus completed); /// Return the exception description associated with the given OMG /// minor code. static const char *_tao_get_omg_exception_description ( - const CORBA::SystemException &exc, - CORBA::ULong minor_code); + const CORBA::SystemException &exc, + CORBA::ULong minor_code + ); private: /// Minor code. @@ -282,7 +290,10 @@ public: \ CORBA_ ## name (void); \ CORBA_ ## name (CORBA::ULong code, \ CORBA::CompletionStatus completed) \ - : CORBA_SystemException ("IDL:omg.org/CORBA/" #name ":1.0", code, completed) \ + : CORBA_SystemException ("IDL:omg.org/CORBA/" #name ":1.0", \ + #name, \ + code, \ + completed) \ { } \ static CORBA_##name * _downcast (CORBA_Exception* exception); \ virtual int _is_a (const char* type_id) const; \ @@ -371,7 +382,8 @@ public: /// Create a CORBA::SystemException given the interface repository ID. static CORBA_SystemException *create_system_exception ( const char *id - ACE_ENV_ARG_DECL_WITH_DEFAULTS); + ACE_ENV_ARG_DECL_WITH_DEFAULTS + ); /** |