-// gdcmDebug.h
-//-----------------------------------------------------------------------------
+/*=========================================================================
+
+ Program: gdcm
+ Module: $RCSfile: gdcmDebug.h,v $
+ Language: C++
+ Date: $Date: 2004/09/27 08:39:05 $
+ Version: $Revision: 1.7 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
#ifndef GDCMDEBUG_H
#define GDCMDEBUG_H
+#include "gdcmCommon.h"
+
+//-----------------------------------------------------------------------------
+
/**
* \ingroup gdcmDebug
* \brief gdcmDebug is an object for debugging in program.
* Shown only when the debug level is higher than the
* message level.
*/
-class gdcmDebug {
+class GDCM_EXPORT gdcmDebug
+{
public:
gdcmDebug(int level = -1);
void SetDebug (int level);
- void Verbose(int, const char*, const char* ="");
- void Error(bool, const char*, const char* ="");
- void Error(const char*, const char* ="", const char* ="");
+ void Verbose(int level, const char* msg1, const char* msg2 = "") ;
+ void Error (bool test, const char* msg1, const char* msg2 = "");
+ void Error (const char* msg1, const char* msg2 = "", const char* msg3 = "");
+
+ void Assert(int level, bool test, const char * msg1, const char * msg2);
+ void Exit(int a);
- void Assert(int, bool, const char*, const char*);
- void Exit(int);
+ static gdcmDebug &GetReference();
private:
/// warning message level to be displayed
int DebugLevel;
+
};
-extern gdcmDebug dbg;
+/// Instance of debugging utility.
+static gdcmDebug dbg;
#endif