]> Creatis software - gdcm.git/blobdiff - src/gdcmDebug.cxx
DICOMDIR skeleton modifs, for future version
[gdcm.git] / src / gdcmDebug.cxx
index 9963df5a1e699001a949e5efcdfe76523b6b8491..e98811056dff0e3cb44d17f1d82be1df2c6ca7eb 100644 (file)
@@ -1,51 +1,67 @@
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: gdcmDebug.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/07/19 11:51:26 $
+  Version:   $Revision: 1.3 $
+                                                                                
+  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.
+                                                                                
+=========================================================================*/
+
 #include <iostream>
 #include "gdcmDebug.h"
 
-/**
- * \ingroup Globals
- * \brief   Instance of debugging utility.
- */
-gdcmDebug dbg;
+//-----------------------------------------------------------------------------
+gdcmDebug gdcmDebug::debug;
 
+//-----------------------------------------------------------------------------
 /**
- * \ingroup gdcmDebug
  * \brief   constructor
  * @param level debug level
  */ 
-gdcmDebug::gdcmDebug(int level) {
+gdcmDebug::gdcmDebug(int level) 
+{
    DebugLevel = level;
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Accessor
  * @param   level Set the debug level
  */ 
-void gdcmDebug::SetDebug(int level) {
+void gdcmDebug::SetDebug(int level) 
+{
    DebugLevel = level;
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Verbose 
  * @param Level level
  * @param Msg1 first message part
  * @param Msg2 second message part 
  */
-void gdcmDebug::Verbose(int Level, const char * Msg1, const char * Msg2) {
+void gdcmDebug::Verbose(int Level, const char * Msg1, const char * Msg2) 
+{
    if (Level > DebugLevel)
       return ;
    std::cerr << Msg1 << ' ' << Msg2 << std::endl;
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Error 
  * @param Test test
  * @param Msg1 first message part
  * @param Msg2 second message part 
  */
-void gdcmDebug::Error( bool Test, const char * Msg1, const char * Msg2) {
+void gdcmDebug::Error( bool Test, const char * Msg1, const char * Msg2) 
+{
    if (!Test)
       return;
    std::cerr << Msg1 << ' ' << Msg2 << std::endl;
@@ -53,28 +69,28 @@ void gdcmDebug::Error( bool Test, const char * Msg1, const char * Msg2) {
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Error 
  * @param Msg1 first message part
  * @param Msg2 second message part
  * @param Msg3 Third message part  
  */
 void gdcmDebug::Error(const char* Msg1, const char* Msg2,
-                      const char* Msg3) {
+                      const char* Msg3) 
+{
    std::cerr << Msg1 << ' ' << Msg2 << ' ' << Msg3 << std::endl;
    Exit(1);
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Assert 
  * @param Level level 
  * @param Test test
  * @param Msg1 first message part
  * @param Msg2 second message part
  */
- void gdcmDebug::Assert(int Level, bool Test,
-                 const char * Msg1, const char * Msg2) {
+void gdcmDebug::Assert(int Level, bool Test,
+                 const char * Msg1, const char * Msg2) 
+{
    if (Level > DebugLevel)
       return ;
    if (!Test)
@@ -82,11 +98,11 @@ void gdcmDebug::Error(const char* Msg1, const char* Msg2,
 }
 
 /**
- * \ingroup gdcmDebug
  * \brief   Exit 
  * @param a return code 
  */
-void gdcmDebug::Exit(int a) {
+void gdcmDebug::Exit(int a) 
+{
 #ifdef __GNUC__
    std::exit(a);
 #endif
@@ -94,3 +110,13 @@ void gdcmDebug::Exit(int a) {
    exit(a);    // Found in #include <stdlib.h>
 #endif
 }
+
+/**
+ * \brief  Get the debug instance 
+ * \return Reference to the debug instance
+ */
+gdcmDebug &gdcmDebug::GetReference()
+{
+   return gdcmDebug::debug;
+}
+