summaryrefslogtreecommitdiff
path: root/TAO/tao/Exception.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2005-08-19 08:02:52 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2005-08-19 08:02:52 +0000
commitd9e7859115ef1d5ec0f1c0a829b697354990a8a4 (patch)
tree384c03f0891bbd738983cd5477ac803253f7aaee /TAO/tao/Exception.h
parent03b65689794604a55162d73e8a5a4ccb5827b307 (diff)
downloadATCD-d9e7859115ef1d5ec0f1c0a829b697354990a8a4.tar.gz
ChangeLogTag Fri Aug 19 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Exception.h')
-rw-r--r--TAO/tao/Exception.h46
1 files changed, 15 insertions, 31 deletions
diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h
index b25c539335d..3eba5fe9a48 100644
--- a/TAO/tao/Exception.h
+++ b/TAO/tao/Exception.h
@@ -136,10 +136,7 @@ namespace CORBA
// = These are TAO-specific extensions.
/// Will be overridden in the concrete derived classes.
- virtual CORBA::TypeCode_ptr _tao_type (void) const;
-
- // = To implement the narrow method.
- virtual int _is_a (const char* repository_id) const;
+ virtual CORBA::TypeCode_ptr _tao_type (void) const = 0;
/// Print the exception to output determined by @a f.
/**
@@ -150,6 +147,9 @@ namespace CORBA
#if defined (ACE_USES_WCHAR)
/// ACE_WCHAR_T version of _tao_print_exception.
+ /**
+ * @note This method is TAO-specific.
+ */
void _tao_print_exception (const ACE_WCHAR_T *info,
FILE *f = stdout) const;
#endif // ACE_USES_WCHAR
@@ -159,9 +159,10 @@ namespace CORBA
virtual ACE_CString _info (void) const = 0;
virtual void _tao_encode (TAO_OutputCDR &cdr
- ACE_ENV_ARG_DECL_NOT_USED) const = 0;
+ ACE_ENV_ARG_DECL) const = 0;
+
virtual void _tao_decode (TAO_InputCDR &cdr
- ACE_ENV_ARG_DECL_NOT_USED) = 0;
+ ACE_ENV_ARG_DECL) = 0;
/// Used in the non-copying Any insertion operator.
static void _tao_any_destructor (void *);
@@ -178,7 +179,13 @@ namespace CORBA
* public:
* virtual CORBA::Exception *_tao_duplicate (void) const
* {
- * return new SomeException (*this);
+ * CORBA::Exception *result = 0;
+ * ACE_NEW_RETURN (
+ * result,
+ * SomeException (*this),
+ * 0
+ * );
+ * return result;
* }
* };
* </PRE>
@@ -223,32 +230,9 @@ class TAO_Export TAO_Exceptions
public:
/// Create a CORBA::SystemException given the interface repository ID.
- static CORBA::SystemException *create_system_exception (
- const char *id
- ACE_ENV_ARG_DECL
- );
-
+ static CORBA::SystemException *create_system_exception (const char *id);
};
-#if defined (TAO_DONT_CATCH_DOT_DOT_DOT)
-/**
- * @class TAO_DONT_CATCH
- *
- * @brief This class is only used internally in TAO as an exception
- * that never gets thrown. Never use this class anywhere.
- *
- * @internal
- */
-class TAO_Export TAO_DONT_CATCH
-{
-public:
- TAO_DONT_CATCH (void);
-};
-#endif /* TAO_DONT_CATCH_DOT_DOT_DOT */
-
-TAO_Export void operator<<= (CORBA::Any &, const CORBA::Exception &);
-TAO_Export void operator<<= (CORBA::Any &, CORBA::Exception *);
-
#if defined (__ACE_INLINE__)
# include "tao/Exception.i"
#endif /* __ACE_INLINE__ */