From 506fdfe288ec3c9be7ab80116f0d2c3dede9b98e Mon Sep 17 00:00:00 2001 From: jpr Date: Sat, 5 Nov 2005 13:21:32 +0000 Subject: [PATCH] Flags Debug and Warning may be used separately. --> Setting on Debug sets also Warning --> Setting off Warning is applied only if Debug is off. Note : Debug On : Developer wants to track a missbehaviour in gdcm Warning on : User wants to be warned about oddities in the files. --- src/gdcmDebug.cxx | 39 ++++++++++++++++++++++++++++++++------- src/gdcmDebug.h | 19 ++++++++++++++----- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/src/gdcmDebug.cxx b/src/gdcmDebug.cxx index d9a56182..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/06/24 10:55:58 $ - Version: $Revision: 1.25 $ + 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 @@ -23,8 +23,9 @@ namespace gdcm { //----------------------------------------------------------------------------- // Warning message level to be displayed -static bool DebugFlag = false; -static bool DebugToFile = false; +static bool DebugFlag = false; +static bool WarningFlag = false; +static bool DebugToFile = false; static std::ofstream DebugFile; //----------------------------------------------------------------------------- @@ -43,16 +44,20 @@ Debug::~Debug() //----------------------------------------------------------------------------- // Public /** - * \brief Sets the debug flag - * @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 Gets the debug flag value + * (used to warn user when file contains some oddity) * @return debug flag value */ bool Debug::GetDebugFlag () @@ -60,6 +65,26 @@ 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 whether we want to redirect to file diff --git a/src/gdcmDebug.h b/src/gdcmDebug.h index 9cb71d6f..df9e02f8 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/10/27 09:12:20 $ - Version: $Revision: 1.46 $ + Date: $Date: 2005/11/05 13:21:32 $ + Version: $Revision: 1.47 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -51,14 +51,23 @@ public: Debug(); ~Debug(); - /// \brief This is a global flag that controls whether any debug, warning - /// messages are displayed. + /// \brief This is a global flag that controls whether + /// both debug and warning messages are displayed. static void SetDebugFlag (bool flag); static bool GetDebugFlag (); /// \brief Sets the Debug Flag to true static void DebugOn () { SetDebugFlag(true); } /// \brief Sets the Debug Flag to false static void DebugOff () { SetDebugFlag(false); } + + /// \brief This is a global flag that controls whether + /// warning messages are displayed. + static void SetWarningFlag (bool flag); + static bool GetWarningFlag (); + /// \brief Sets the Warning Flag to true + static void WarningOn () { SetWarningFlag(true); } + /// \brief Sets the Warning Flag to false + static void WarningOff () { SetWarningFlag(false); } /// \brief This is a global flag that controls if debug are redirected /// to a file or not @@ -133,7 +142,7 @@ public: #else #define gdcmWarningMacro(msg) \ { \ - if( Debug::GetDebugFlag() ) \ + if( Debug::GetWarningFlag() ) \ { \ std::ostringstream osmacro; \ osmacro << "Warning: In " __FILE__ ", line " << __LINE__ \ -- 2.48.1