00001 // This file is part of the imaging2 class library. 00002 // 00003 // University of Innsbruck, Infmath Imaging, 2009. 00004 // http://infmath.uibk.ac.at 00005 // 00006 // All rights reserved. 00007 00008 00009 #ifndef CORE_CMESSAGE_H 00010 #define CORE_CMESSAGE_H 00011 00012 #include <core/MessageInterface.hpp> 00013 #include <iostream> 00014 00015 namespace imaging 00016 { 00017 00066 class Cmessage : public MessageInterface 00067 { 00068 00069 int _current_intendation_level; 00070 size_t _current_verbose_level; 00071 00072 public: 00073 static Cmessage out; 00074 00076 enum verbose_levels { 00077 DEBUG_MESSAGES , 00078 ALL_MESSAGES , 00079 LITTLE_MESSAGES , 00080 NO_MESSAGES 00081 }; 00082 00083 Cmessage(); 00084 00086 void set_verbose_level(size_t level); 00087 00089 const size_t verbose_level() const { return _current_verbose_level; } 00090 00091 void operator()(const std::string & message, const int priority_level, int intend = 0); 00092 00093 void operator()(int intend); 00094 }; 00095 00096 } 00097 00098 #endif