X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDebug.cxx;h=d9a56182e30bb7fcb0ff5bb45e77f96f129570ae;hb=4297b237d3010e089a89e0242d4151168553778f;hp=ee7216641d0ae583c9742a2a6f49da76c793c88f;hpb=abd6bfcc2b10b5f7447d1758938d7c15c31240af;p=gdcm.git diff --git a/src/gdcmDebug.cxx b/src/gdcmDebug.cxx index ee721664..d9a56182 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/07 19:20:38 $ - Version: $Revision: 1.15 $ + Date: $Date: 2005/06/24 10:55:58 $ + 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 @@ -16,33 +16,101 @@ =========================================================================*/ -#include #include "gdcmDebug.h" +#include namespace gdcm { +//----------------------------------------------------------------------------- +// Warning message level to be displayed +static bool DebugFlag = false; +static bool DebugToFile = false; +static std::ofstream DebugFile; + +//----------------------------------------------------------------------------- +// Constructor / Destructor +Debug::Debug() +{ + +} + +Debug::~Debug() +{ + if ( DebugFile.is_open() ) + DebugFile.close(); +} -/// warning message level to be displayed -static int DebugFlag = 0; //----------------------------------------------------------------------------- +// Public /** - * \brief Accessor - * @param level Set the debug level + * \brief Sets the debug flag + * @param flag Set the debug flag */ -void Debug::SetDebugFlag (int flag) +void Debug::SetDebugFlag (bool flag) { DebugFlag = flag; } /** - * \brief Accessor - * @param level Get the debug level + * \brief Gets the debug flag value + * @return debug flag value */ -int Debug::GetDebugFlag () +bool Debug::GetDebugFlag () { return DebugFlag; } -} // end namespace gdcm +/** + * \brief Accessor + * @param flag whether we want to redirect to file + */ +void Debug::SetDebugToFile (bool flag) +{ + DebugToFile = flag; +} +/** + * \brief Accessor to know whether debug info are redirected to file + */ +bool Debug::GetDebugToFile () +{ + return DebugToFile; +} + +/** + * \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() ) + DebugFile.close(); + DebugFile.open( filename.c_str() ); +} +/** + * \brief Internal use only. Allow us to retrieve the static from anywhere + * in gdcm code + * @return Debug file + */ +std::ofstream &Debug::GetDebugFile () +{ + return DebugFile; +} + +//----------------------------------------------------------------------------- +// Protected + +//----------------------------------------------------------------------------- +// Private + +//----------------------------------------------------------------------------- +// Print + +//----------------------------------------------------------------------------- +} // end namespace gdcm