]> Creatis software - gdcm.git/commitdiff
- Add construct and destructor to class gdcm::Debug to close the debug file
authorjpr <jpr>
Thu, 27 Jan 2005 11:55:57 +0000 (11:55 +0000)
committerjpr <jpr>
Thu, 27 Jan 2005 11:55:57 +0000 (11:55 +0000)
automatically
- Don't let uset to open twice the same file

src/gdcmDebug.cxx
src/gdcmDebug.h

index 82c4ee96a91e1fbb45b22ed59bc42e5092fcef4c..41f6f18cbb5a5301ecdc126b7ba39eefe9ce2f6b 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDebug.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/13 22:30:11 $
-  Version:   $Revision: 1.17 $
+  Date:      $Date: 2005/01/27 11:55:57 $
+  Version:   $Revision: 1.18 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -23,9 +23,21 @@ namespace gdcm
 {
 
 /// warning message level to be displayed
-static bool DebugFlag = false;
+static bool DebugFlag   = false;
 static bool DebugToFile = false;
 static std::ofstream DebugFile;
+
+
+Debug::Debug()
+{
+
+}
+
+Debug::~Debug()
+{
+  if ( DebugFile.is_open() )
+      DebugFile.close();     
+}
 //-----------------------------------------------------------------------------
 /**
  * \brief   Accessor
@@ -69,14 +81,16 @@ bool Debug::GetDebugToFile ()
  *          Absolutely nothing is check. You have to pass in
  *          a correct filename
  */ 
-void Debug::SetDebugFilename (std::string constfilename)
+void Debug::SetDebugFilename (std::string const &filename)
 {
    DebugToFile = true;  // Just in case ... 
-   DebugFlag = true;    // Just in case ... 
+   DebugFlag = true;    // Just in case ...
+   if( DebugFile.is_open() )
+      DebugFile.close();
    DebugFile.open( filename.c_str() );
 }
 
-std::ofstream & Debug::GetDebugFile ()
+std::ofstream &Debug::GetDebugFile ()
 {
   return DebugFile;
 }
index 422f0789cb11d939c6aa0517060a6c48222473cf..37d1f28a5a39b995fd507ff219fb21c56766d086 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDebug.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 11:07:07 $
-  Version:   $Revision: 1.24 $
+  Date:      $Date: 2005/01/27 11:55:57 $
+  Version:   $Revision: 1.25 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -45,18 +45,21 @@ namespace gdcm
 class GDCM_EXPORT Debug
 {
 public:
+   Debug();
+   ~Debug();
+
    /// This is a global flag that controls whether any debug, warning
    /// messages are displayed.
    static bool GetDebugFlag ();
    static void SetDebugFlag (bool flag);
-   static void SetDebugOn  () { SetDebugFlag(true); };
+   static void SetDebugOn  () { SetDebugFlag(true);  };
    static void SetDebugOff () { SetDebugFlag(false); };
 
    /// This is a global flag that controls if debug are redirected
    /// to a file or not
    static bool GetDebugToFile ();
    static void SetDebugToFile (bool flag);
-   static void SetDebugToFileOn  () { SetDebugToFile(true); };
+   static void SetDebugToFileOn  () { SetDebugToFile(true);  };
    static void SetDebugToFileOff () { SetDebugToFile(false); };
 
    /// Set the filename the debug stream should be redirect to
@@ -65,7 +68,7 @@ public:
 
    /// Internal use only. Allow us to retrieve the static from anywhere
    /// in gdcm code
-   static std::ofstream & GetDebugFile ();
+   static std::ofstream &GetDebugFile ();
 };
 
 } // end namespace gdcm