3 //=============================================================================
5 * @file ExceptionHolder_i.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
11 #ifndef TAO_MESSAGING_EXCEPTIONHOLDER_I_H
12 #define TAO_MESSAGING_EXCEPTIONHOLDER_I_H
13 #include /**/ "ace/pre.h"
15 #include "tao/Messaging/messaging_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/orbconf.h"
23 #include "tao/Messaging/ExceptionHolderA.h"
24 #include "tao/Messaging/ExceptionHolderC.h"
25 #include "tao/Valuetype/ValueFactory.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
41 struct Exception_Data
;
43 class TAO_Messaging_Export ExceptionHolder
44 : public virtual ::OBV_Messaging::ExceptionHolder
,
45 public virtual ::CORBA::DefaultValueRefCountBase
51 ::CORBA::Boolean is_system_exception
,
52 ::CORBA::Boolean byte_order
,
53 const ::CORBA::OctetSeq
&marshaled_exception
,
54 ::TAO::Exception_Data
* data
,
55 ::CORBA::ULong exceptions_count
,
56 ACE_Char_Codeset_Translator
*char_translator
,
57 ACE_WChar_Codeset_Translator
*wchar_translator
);
59 void set_exception_data (::TAO::Exception_Data
* data
,
60 ::CORBA::ULong exceptions_count
);
62 virtual void raise_exception ();
64 virtual void raise_exception_with_list (
65 const ::Dynamic::ExceptionList
& exc_list
);
67 virtual CORBA::ValueBase
* _copy_value ();
70 virtual ~ExceptionHolder ();
73 TAO::Exception_Data
* data_
;
75 ACE_Char_Codeset_Translator
*char_translator_
;
76 ACE_WChar_Codeset_Translator
*wchar_translator_
;
80 * @class ExceptionHolderFactory
82 * @brief OBV factory implementation.
84 * Factory for ExceptionHolder
86 class TAO_Messaging_Export ExceptionHolderFactory
:
87 public virtual CORBA::ValueFactoryBase
90 virtual CORBA::ValueBase
* create_for_unmarshal ();
94 TAO_END_VERSIONED_NAMESPACE_DECL
96 #include /**/ "ace/post.h"
97 #endif /* TAO_MESSAGING_EXCEPTIONHOLDER_I_H */