X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmDebug.cxx;h=82c4ee96a91e1fbb45b22ed59bc42e5092fcef4c;hb=93748f382dadb5c9240c4156ce7bbe9dcc8da44f;hp=9963df5a1e699001a949e5efcdfe76523b6b8491;hpb=0e82725d64f17545e782c18039ced7ea898f8cad;p=gdcm.git diff --git a/src/gdcmDebug.cxx b/src/gdcmDebug.cxx index 9963df5a..82c4ee96 100644 --- a/src/gdcmDebug.cxx +++ b/src/gdcmDebug.cxx @@ -1,96 +1,86 @@ -#include +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmDebug.cxx,v $ + Language: C++ + Date: $Date: 2005/01/13 22:30:11 $ + Version: $Revision: 1.17 $ + + 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 -/** - * \ingroup Globals - * \brief Instance of debugging utility. - */ -gdcmDebug dbg; +namespace gdcm +{ +/// warning message level to be displayed +static bool DebugFlag = false; +static bool DebugToFile = false; +static std::ofstream DebugFile; +//----------------------------------------------------------------------------- /** - * \ingroup gdcmDebug - * \brief constructor - * @param level debug level + * \brief Accessor + * @param flag Set the debug flag */ -gdcmDebug::gdcmDebug(int level) { - DebugLevel = level; +void Debug::SetDebugFlag (bool flag) +{ + DebugFlag = flag; } /** - * \ingroup gdcmDebug * \brief Accessor - * @param level Set the debug level + * @param level Get the debug flag */ -void gdcmDebug::SetDebug(int level) { - DebugLevel = level; +bool Debug::GetDebugFlag () +{ + return DebugFlag; } /** - * \ingroup gdcmDebug - * \brief Verbose - * @param Level level - * @param Msg1 first message part - * @param Msg2 second message part - */ -void gdcmDebug::Verbose(int Level, const char * Msg1, const char * Msg2) { - if (Level > DebugLevel) - return ; - std::cerr << Msg1 << ' ' << Msg2 << std::endl; + * \brief Accessor + * @param flag Set the debug flag to redirect to file + */ +void Debug::SetDebugToFile (bool flag) +{ + DebugToFile = flag; } /** - * \ingroup gdcmDebug - * \brief Error - * @param Test test - * @param Msg1 first message part - * @param Msg2 second message part - */ -void gdcmDebug::Error( bool Test, const char * Msg1, const char * Msg2) { - if (!Test) - return; - std::cerr << Msg1 << ' ' << Msg2 << std::endl; - Exit(1); + * \brief Accessor + * @param level Get the debug flag to redirect to file + */ +bool Debug::GetDebugToFile () +{ + return DebugToFile; } /** - * \ingroup gdcmDebug - * \brief Error - * @param Msg1 first message part - * @param Msg2 second message part - * @param Msg3 Third message part - */ -void gdcmDebug::Error(const char* Msg1, const char* Msg2, - const char* Msg3) { - std::cerr << Msg1 << ' ' << Msg2 << ' ' << Msg3 << std::endl; - Exit(1); + * \brief Accessor + * @param flag Set the debug flag to redirect to file + * 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 ... + DebugFile.open( filename.c_str() ); } -/** - * \ingroup gdcmDebug - * \brief Assert - * @param Level level - * @param Test test - * @param Msg1 first message part - * @param Msg2 second message part - */ - void gdcmDebug::Assert(int Level, bool Test, - const char * Msg1, const char * Msg2) { - if (Level > DebugLevel) - return ; - if (!Test) - std::cerr << Msg1 << ' ' << Msg2 << std::endl; +std::ofstream & Debug::GetDebugFile () +{ + return DebugFile; } -/** - * \ingroup gdcmDebug - * \brief Exit - * @param a return code - */ -void gdcmDebug::Exit(int a) { -#ifdef __GNUC__ - std::exit(a); -#endif -#ifdef _MSC_VER - exit(a); // Found in #include -#endif -} +} // end namespace gdcm + +