summaryrefslogtreecommitdiff
path: root/TAO/tao/DynamicInterface/ExceptionList.h
diff options
context:
space:
mode:
authorbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-28 18:31:01 +0000
committerbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-28 18:31:01 +0000
commitcdb6fd66611283a0314ab23e08472d11dae4f0e4 (patch)
treefd6ae8c3db752254802dfaafd1543974a4741e47 /TAO/tao/DynamicInterface/ExceptionList.h
parentf984aa2bff444f381570d2f97ac9ba958926fb6b (diff)
downloadATCD-cdb6fd66611283a0314ab23e08472d11dae4f0e4.tar.gz
ChangeLogTag:Tue Oct 28 12:02:47 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/tao/DynamicInterface/ExceptionList.h')
-rw-r--r--TAO/tao/DynamicInterface/ExceptionList.h41
1 files changed, 24 insertions, 17 deletions
diff --git a/TAO/tao/DynamicInterface/ExceptionList.h b/TAO/tao/DynamicInterface/ExceptionList.h
index acc1e389dcc..c6e7021ccf1 100644
--- a/TAO/tao/DynamicInterface/ExceptionList.h
+++ b/TAO/tao/DynamicInterface/ExceptionList.h
@@ -21,6 +21,7 @@
#ifndef TAO_CORBA_EXCEPTIONLIST_H
#define TAO_CORBA_EXCEPTIONLIST_H
+
#include /**/ "ace/pre.h"
#include "dynamicinterface_export.h"
@@ -29,12 +30,15 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/corbafwd.h"
#include "tao/Pseudo_VarOut_T.h"
+#include "tao/orbconf.h"
+#include "tao/Basic_Types.h"
+#include "tao/default_environment.h"
#include "ace/Unbounded_Queue.h"
#include "ace/Atomic_Op.h"
#include "ace/CORBA_macros.h"
+#include "ace/Synch_Traits.h"
#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
@@ -43,6 +47,9 @@
namespace CORBA
{
+ class ExceptionList;
+ typedef ExceptionList *ExceptionList_ptr;
+
TAO_NAMESPACE_INLINE_FUNCTION void release (ExceptionList_ptr);
TAO_NAMESPACE_INLINE_FUNCTION Boolean is_nil (ExceptionList_ptr);
@@ -58,61 +65,61 @@ namespace CORBA
// Maintains a list of TypeCodes for Exceptions.
public:
// = Intialization and termination methods.
-
+
ExceptionList (void);
// Constructor.
-
+
ExceptionList (CORBA::ULong len,
CORBA::TypeCode_ptr *tc_list);
// Constructor - initialize given a length and an array of
// TypeCodes.
-
+
~ExceptionList (void);
// Destructor.
-
+
CORBA::ULong count (void);
// Return the number of elements.
ExceptionList_ptr _duplicate (void);
// Increase the reference count.
-
+
static ExceptionList_ptr _duplicate (ExceptionList *);
// Increase the reference count in the spec defined manner.
-
+
void _destroy (void);
-
+
static ExceptionList_ptr _nil (void);
-
+
void add (CORBA::TypeCode_ptr tc);
// Add a TypeCode to the list.
-
+
void add_consume (CORBA::TypeCode_ptr tc);
// Add and consume a TypeCode to the list.
-
+
CORBA::TypeCode_ptr item (CORBA::ULong slot
ACE_ENV_ARG_DECL_WITH_DEFAULTS);
// Return the typecode at slot i. Raises the "Bounds" exception.
-
+
void remove (CORBA::ULong slot
ACE_ENV_ARG_DECL_WITH_DEFAULTS);
// Remove the typecode at slot i. Raises the "Bounds" exception.
-
+
void _incr_refcnt (void);
void _decr_refcnt (void);
// Increment and decrement ref counts.
-
+
typedef CORBA::ExceptionList_ptr _ptr_type;
typedef CORBA::ExceptionList_var _var_type;
// Useful for template programming.
-
+
private:
// = Not allowed.
ExceptionList (const ExceptionList &);
ExceptionList &operator= (const ExceptionList &);
-
+
ACE_Atomic_Op<TAO_SYNCH_MUTEX, CORBA::ULong> ref_count_;
// Reference counter.
-
+
ACE_Unbounded_Queue<CORBA::TypeCode_ptr> tc_list_;
// Internal list of typecodes.
};