• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

baciError.h

Go to the documentation of this file.
00001 #ifndef baciError_H
00002 #define baciError_H
00003 
00004 /*******************************************************************************
00005 * ALMA - Atacama Large Millimiter Array
00006 * (c) European Southern Observatory, 2003 
00007 *
00008 *This library is free software; you can redistribute it and/or
00009 *modify it under the terms of the GNU Lesser General Public
00010 *License as published by the Free Software Foundation; either
00011 *version 2.1 of the License, or (at your option) any later version.
00012 *
00013 *This library is distributed in the hope that it will be useful,
00014 *but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 *Lesser General Public License for more details.
00017 *
00018 *You should have received a copy of the GNU Lesser General Public
00019 *License along with this library; if not, write to the Free Software
00020 *Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00021 *
00022 * "@(#) $Id: baciError.h,v 1.97 2008/06/03 09:14:11 bjeram Exp $"
00023 *
00024 * who       when        what
00025 * --------  ----------  ----------------------------------------------
00026 * bjeram    2003-03-12  added ACSErr prefix
00027 * bjeram    2002-06-06  renamed  ACS_ERROR_STACK* ACS_COMPLETION*
00028 * bjeram    2002-06-05  added ACSErrHelper::ACSErrStack( const ACE_TCHAR * file, int line,  ACSErr::Completion &completion, ACSError& error);
00029 * msekoran  2002-05-23  created
00030 */
00031 
00037 #ifndef __cplusplus
00038 #error This is a C++ include file and cannot be used from plain C
00039 #endif
00040 
00041 #include <baci.h>
00042 #include <baciC.h>
00043 #include <acserr.h>
00044 #include <ACSErrTypeOKC.h>
00045 
00053 #define ACS_COMPLETION(arg...) ACSErrHelper::ACSErrStack(__FILE__, __LINE__,## arg) 
00054 
00062 #define ACS_COMPLETION_LOG(arg...) ACSErrHelper::ACSErrStackLog(__FILE__, __LINE__,## arg) 
00063 
00064 class ACSErrHelper
00065 {
00066   public:
00067 
00069     static const unsigned int LOG_FLAG_M;
00070 
00072     static const unsigned int COMPLETION_FLAG_M;
00073 
00075     static void ACSErrStack(const ACE_TCHAR * file, int line, /* there just that the same macro can be used*/
00076                                           ACSErr::Completion &completion, ACSError& error);
00077 
00079     static void ACSErrStack(const ACE_TCHAR * file, int line, 
00080                             ACSErr::Completion &completion, const ACE_TCHAR * routine, 
00081 //                          ACSErrType errtype = ACSErrTypeCommon, ACSErr::ErrorCode errcode = ACSErrUnknown,
00082                             ACSErr::ACSErrType errtype = ACSErr::ACSErrTypeOK, ACSErr::ErrorCode errcode = ACSErrTypeOK::ACSErrOK,
00083                             const ACE_TCHAR * msgname = 0, const ACE_TCHAR * msg = 0,
00084                             int flag = COMPLETION_FLAG_M);
00085 
00087     static void ACSErrStackLog(const ACE_TCHAR * file, int line, 
00088                             ACSErr::Completion &completion, const ACE_TCHAR * routine, 
00089 //                          ACSErrType errtype = ACSErrTypeCommon, ACSErr::ErrorCode errcode = ACSErrUnknown,
00090                             ACSErr::ACSErrType errtype = ACSErr::ACSErrTypeOK, ACSErr::ErrorCode errcode = ACSErrTypeOK::ACSErrOK,
00091                             const ACE_TCHAR * msgname = 0, const ACE_TCHAR * msg = 0,
00092                             int flag = COMPLETION_FLAG_M | LOG_FLAG_M);
00093 };
00094 
00095 #endif 

Generated on Thu Jan 12 2012 23:13:50 for ACS-10.0 C++ API by  doxygen 1.7.0