Env.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Env.h
00006  *
00007  *  Env.h,v 1.7 2003/07/19 19:04:10 dhinton Exp
00008  *
00009  *  @author Nanbor Wang <nanbor@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef _ACEXML_ENV_H_
00014 #define _ACEXML_ENV_H_
00015 
00016 #include /**/ "ace/pre.h"
00017 #include "ACEXML/common/ACEXML_Export.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 #pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "ACEXML/common/XML_Macros.h"
00024 #include "ACEXML/common/Exception.h"
00025 
00026 /**
00027  * @class ACEXML_Env Env.h "ACEXML/common/Env.h"
00028  *
00029  * @brief ACEXML_Env
00030  *
00031  * ACEXML_Env is modeled after CORBA_Environment class. It provides a place
00032  * holder for callees to propagate exceptions back to callers. ACEXML does
00033  * not support native exceptions at this moment.
00034  *
00035  * @sa ACEXML_Exception
00036  */
00037 class ACEXML_Export ACEXML_Env
00038 {
00039 public:
00040   /// Default constructor.
00041   ACEXML_Env (void);
00042 
00043   /// Copy constructor.
00044   ACEXML_Env (const ACEXML_Env& ACEXML_TRY_ENV);
00045 
00046   /// Assignment
00047   ACEXML_Env& operator= (const ACEXML_Env& ACEXML_TRY_ENV);
00048 
00049   /// Destructor.
00050   ~ACEXML_Env (void);
00051 
00052   /// Return the contained exception.
00053   ACEXML_Exception *exception (void) const;
00054 
00055   /// Set the contained exception to @arg ex
00056   void exception (ACEXML_Exception* ex);
00057 
00058   /// Clear the exception and reset the evnrionment.
00059   void clear (void);
00060 
00061 private:
00062   /// Place holder for exception (if one occurs.)
00063   ACEXML_Exception *exception_;
00064 };
00065 
00066 #if defined (__ACEXML_INLINE__)
00067 # include "ACEXML/common/Env.i"
00068 #endif /* __ACEXML_INLINE__ */
00069 
00070 #include /**/ "ace/post.h"
00071 
00072 #endif /* _ACEXML_ENV_H_ */

Generated on Thu Nov 9 11:45:36 2006 for ACEXML by doxygen 1.3.6