diff options
author | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-28 18:31:01 +0000 |
---|---|---|
committer | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-28 18:31:01 +0000 |
commit | cdb6fd66611283a0314ab23e08472d11dae4f0e4 (patch) | |
tree | fd6ae8c3db752254802dfaafd1543974a4741e47 /TAO/tao/DynamicInterface/ExceptionList.h | |
parent | f984aa2bff444f381570d2f97ac9ba958926fb6b (diff) | |
download | ATCD-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.h | 41 |
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. }; |