X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDebug.cxx;h=ba0a2fa49c9915ae31dccb0620c54c8ddabdef95;hb=db42e5541964319d882c965dc6d0284806ff0489;hp=82ced4141d27c695ad8e4630adafaa88f2ddc7ca;hpb=dd9001df5c1b8d5be917f635a6316aa4f0869af7;p=gdcm.git diff --git a/src/gdcmDebug.cxx b/src/gdcmDebug.cxx index 82ced414..ba0a2fa4 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/30 17:30:57 $ - Version: $Revision: 1.19 $ + Date: $Date: 2005/11/05 13:21:32 $ + Version: $Revision: 1.26 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,16 +21,15 @@ namespace gdcm { - -/// warning message level to be displayed -static bool DebugFlag = false; -static bool DebugToFile = false; +//----------------------------------------------------------------------------- +// Warning message level to be displayed +static bool DebugFlag = false; +static bool WarningFlag = false; +static bool DebugToFile = false; static std::ofstream DebugFile; - //----------------------------------------------------------------------------- // Constructor / Destructor - Debug::Debug() { @@ -42,34 +41,53 @@ Debug::~Debug() DebugFile.close(); } -//----------------------------------------------------------------------------- -// Print - - //----------------------------------------------------------------------------- // Public - /** - * \brief Accessor - * @param flag Set the debug flag + * \brief Sets both the debug flag and warning flag + * (both used for debugging purpose) + * @param flag Set the debug flag and warning flag */ void Debug::SetDebugFlag (bool flag) { - DebugFlag = flag; + // To help tracking a bug, both flags are necessary + DebugFlag = flag; + WarningFlag = flag; } /** - * \brief Accessor - * @param level Get the debug flag + * \brief Gets the debug flag value + * (used to warn user when file contains some oddity) + * @return debug flag value */ bool Debug::GetDebugFlag () { return DebugFlag; } +/** + * \brief Sets the warning flag + * @param flag Set the warning flag + */ +void Debug::SetWarningFlag (bool flag) +{ + // Cannot unset Warning flag if Debug flag is on. + if (flag == false && DebugFlag == true) + return; + WarningFlag = flag; +} + +/** + * \brief Gets the warning flag value + * @return warning flag value + */ +bool Debug::GetWarningFlag () +{ + return WarningFlag; +} /** * \brief Accessor - * @param flag Set the debug flag to redirect to file + * @param flag whether we want to redirect to file */ void Debug::SetDebugToFile (bool flag) { @@ -77,8 +95,7 @@ void Debug::SetDebugToFile (bool flag) } /** - * \brief Accessor - * @param level Get the debug flag to redirect to file + * \brief Accessor to know whether debug info are redirected to file */ bool Debug::GetDebugToFile () { @@ -86,22 +103,24 @@ bool Debug::GetDebugToFile () } /** - * \brief Set Accessor - * @param flag Set the debug flag to redirect to file + * \brief Set the filename the debug stream should be redirect to + * Settting a filename also sets DebugToFile to true + * @param filename File to redirect debug info * Absolutely nothing is check. You have to pass in * a correct filename */ void Debug::SetDebugFilename (std::string const &filename) { DebugToFile = true; // Just in case ... - DebugFlag = true; // Just in case ... - if( DebugFile.is_open() ) + DebugFlag = true; // Just in case ... + if ( DebugFile.is_open() ) DebugFile.close(); DebugFile.open( filename.c_str() ); } /** - * \brief Get Accessor + * \brief Internal use only. Allow us to retrieve the static from anywhere + * in gdcm code * @return Debug file */ std::ofstream &Debug::GetDebugFile () @@ -116,6 +135,7 @@ std::ofstream &Debug::GetDebugFile () // Private //----------------------------------------------------------------------------- -} // end namespace gdcm - +// Print +//----------------------------------------------------------------------------- +} // end namespace gdcm