From: jpr Date: Thu, 27 Jan 2005 11:55:57 +0000 (+0000) Subject: - Add construct and destructor to class gdcm::Debug to close the debug file X-Git-Tag: Version1.0.bp~174 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=c67ffef593e7635d8dfa7d3fe63d702e5afafc3e;p=gdcm.git - Add construct and destructor to class gdcm::Debug to close the debug file automatically - Don't let uset to open twice the same file --- diff --git a/src/gdcmDebug.cxx b/src/gdcmDebug.cxx index 82c4ee96..41f6f18c 100644 --- a/src/gdcmDebug.cxx +++ b/src/gdcmDebug.cxx @@ -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 const& filename) +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; } diff --git a/src/gdcmDebug.h b/src/gdcmDebug.h index 422f0789..37d1f28a 100644 --- a/src/gdcmDebug.h +++ b/src/gdcmDebug.h @@ -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