3 //=============================================================================
5 * @file Exception_Data.h
7 * @author balachandran Natarajan <bala@dre.vanderbilt.edu>
9 //=============================================================================
11 #ifndef TAO_EXCEPTION_DATA_H
12 #define TAO_EXCEPTION_DATA_H
13 #include /**/ "ace/pre.h"
15 #include "ace/config-all.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/orbconf.h"
22 #include <string_view>
24 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 typedef TypeCode
*TypeCode_ptr
;
36 // Function pointer returning a pointer to CORBA::Exception. This is used to
37 // describe the allocator for user-defined exceptions that are used internally
38 // by the interpreter.
39 typedef CORBA::Exception
* (*TAO_Exception_Alloc
) ();
42 * @struct Exception_Data
44 * @brief Description of a single exception.
46 * The interpreter needs a way to allocate memory to hold the exception
47 * that was raised by the stub. This data structure provides the typecode
48 * for the exception as well as a static function pointer that
49 * does the job of memory allocation.
53 /// Repository id of the exception.
56 /// The allocator for this exception.
57 TAO_Exception_Alloc alloc
;
59 #if TAO_HAS_INTERCEPTORS == 1
60 /// The typecode pointer for this exception.
61 CORBA::TypeCode_ptr tc_ptr
;
62 #endif /* TAO_HAS_INTERCEPTORS */
66 TAO_END_VERSIONED_NAMESPACE_DECL
68 #include /**/ "ace/post.h"
69 #endif /*TAO_EXCEPTION_DATA_H*/