diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 0e49389337be86641451a5c36c24bf742fe97523 (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/UserException.h | |
parent | 8008dd09ccf88d4edef237a184a698cac42f2952 (diff) | |
download | ATCD-0e49389337be86641451a5c36c24bf742fe97523.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/UserException.h')
-rw-r--r-- | TAO/tao/UserException.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/TAO/tao/UserException.h b/TAO/tao/UserException.h new file mode 100644 index 00000000000..9fef2c2ea16 --- /dev/null +++ b/TAO/tao/UserException.h @@ -0,0 +1,90 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file UserException.h + * + * $Id$ + * + * CORBA::UserException class header. + * + * @author DOC Group at Vanderbilt U, Wash U, and UCI + * @author Ossama Othman <ossama@dre.vanderbilt.edu> + */ +//============================================================================= + +#ifndef TAO_USER_EXCEPTION_H +#define TAO_USER_EXCEPTION_H + +#include /**/ "ace/pre.h" + +#include "tao/TAO_Export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Exception.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace CORBA +{ + /** + * @class UserException + * + * @brief Application- or OMG- defined CORBA exception sub-class. + * + * User exceptions can be defined in application OMG IDL or by the + * OMG itself for IDL interfaces and services it defines. + */ + class TAO_Export UserException : public Exception + { + public: + + /// Copy constructor. + UserException (UserException const & rhs); + + /// Destructor. + virtual ~UserException (void); + + /// Assignment operator. + UserException & operator= (UserException const & rhs); + + /// The narrow operation. + static UserException * _downcast (CORBA::Exception * exception); + + /// The const version of narrow operation + static const UserException * _downcast ( + CORBA::Exception const * exception); + + virtual void _raise (void) const = 0; + + virtual CORBA::TypeCode_ptr _tao_type (void) const; + + // = TAO specific extension. + + /// Constructor from a repository id. + UserException (char const * repository_id, + char const * local_name); + + /// Returns a string containing information about the exception. This + /// function is not CORBA compliant. + virtual ACE_CString _info (void) const; + + protected: + /// Default constructor. + UserException (void); + }; + +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +#if defined (__ACE_INLINE__) +# include "tao/UserException.inl" +#endif /* __ACE_INLINE__ */ + +#include /**/"ace/post.h" + +#endif /* TAO_USER_EXCEPTION_H */ |