summaryrefslogtreecommitdiff
path: root/trunk/TAO/tao/Messaging/ExceptionHolder_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tao/Messaging/ExceptionHolder_i.h')
-rw-r--r--trunk/TAO/tao/Messaging/ExceptionHolder_i.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/trunk/TAO/tao/Messaging/ExceptionHolder_i.h b/trunk/TAO/tao/Messaging/ExceptionHolder_i.h
new file mode 100644
index 00000000000..f19f4308d58
--- /dev/null
+++ b/trunk/TAO/tao/Messaging/ExceptionHolder_i.h
@@ -0,0 +1,103 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ExceptionHolder_i.h
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef TAO_MESSAGING_EXCEPTIONHOLDER_I_H
+#define TAO_MESSAGING_EXCEPTIONHOLDER_I_H
+#include /**/ "ace/pre.h"
+
+#include "tao/Messaging/messaging_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+
+#include "tao/Messaging/ExceptionHolderA.h"
+#include "tao/Messaging/ExceptionHolderC.h"
+#include "tao/Valuetype/ValueFactory.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace Dynamic
+{
+ class ExceptionList;
+}
+
+namespace Messaging
+{
+ class ReplyHandler;
+}
+
+namespace TAO
+{
+ struct Exception_Data;
+
+ class TAO_Messaging_Export ExceptionHolder
+ : public virtual ::OBV_Messaging::ExceptionHolder,
+ public virtual ::CORBA::DefaultValueRefCountBase
+ {
+ public:
+ ExceptionHolder (void);
+
+ ExceptionHolder (
+ ::CORBA::Boolean is_system_exception,
+ ::CORBA::Boolean byte_order,
+ const ::CORBA::OctetSeq &marshaled_exception,
+ ::TAO::Exception_Data* data,
+ ::CORBA::ULong exceptions_count
+ );
+
+ void set_exception_data (::TAO::Exception_Data* data,
+ ::CORBA::ULong exceptions_count);
+
+ virtual void raise_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ virtual void raise_exception_with_list (
+ const ::Dynamic::ExceptionList & exc_list ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual CORBA::ValueBase* _copy_value (void);
+
+ protected:
+
+ virtual ~ExceptionHolder (void);
+
+ private:
+
+ TAO::Exception_Data* data_;
+ CORBA::ULong count_;
+
+ };
+
+ /**
+ * @class ExceptionHolderFactory
+ *
+ * @brief OBV factory implementation.
+ *
+ * Factory for ExceptionHolder
+ */
+ class TAO_Messaging_Export ExceptionHolderFactory :
+ public virtual CORBA::ValueFactoryBase
+ {
+ public:
+ virtual CORBA::ValueBase * create_for_unmarshal (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ };
+
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* TAO_MESSAGING_EXCEPTIONHOLDER_I_H */
+