/*========================================================================= Program: gdcm Module: $RCSfile: gdcmDebug.cxx,v $ Language: C++ Date: $Date: 2005/02/02 10:02:16 $ Version: $Revision: 1.22 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #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(); } //----------------------------------------------------------------------------- // Print //----------------------------------------------------------------------------- // Public /** * \brief Accessor * @param flag Set the debug flag */ void Debug::SetDebugFlag (bool flag) { DebugFlag = flag; } /** * \brief Gets the debug flag value * @return debug flag value */ bool Debug::GetDebugFlag () { return DebugFlag; } /** * \brief Accessor * @param flag whether we want to redirect to file */ void Debug::SetDebugToFile (bool flag) { DebugToFile = flag; } /** * \brief Accessor to know if debug info are redirected to file */ bool Debug::GetDebugToFile () { return DebugToFile; } /** * \brief Set Accessor * @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 Get Accessor * @return Debug file */ std::ofstream &Debug::GetDebugFile () { return DebugFile; } //----------------------------------------------------------------------------- // Protected //----------------------------------------------------------------------------- // Private //----------------------------------------------------------------------------- } // end namespace gdcm