]> Creatis software - gdcm.git/blobdiff - src/gdcmDebug.h
Some improvements for Write problems
[gdcm.git] / src / gdcmDebug.h
index 86a2002203cc564cba8308fcc4376a43f0ac895d..ae3e013fd0e396714635b4b1ac3c2b16cc144aff 100644 (file)
@@ -1,8 +1,31 @@
-// gdcmDebug.h
-//-----------------------------------------------------------------------------
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: gdcmDebug.h,v $
+  Language:  C++
+  Date:      $Date: 2004/08/01 02:39:09 $
+  Version:   $Revision: 1.5 $
+                                                                                
+  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.htm 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"
+
+//-----------------------------------------------------------------------------
+#define dbg gdcmDebug::GetReference()
+
+//-----------------------------------------------------------------------------
+
 /**
  * \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 debug;
+};
 
 #endif