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_MESSAGEINTERFACE_H 00010 #define CORE_MESSAGEINTERFACE_H 00011 00012 #include <core/imaging2.hpp> 00013 #include <iostream> 00014 00015 namespace imaging 00016 { 00017 00041 class MessageInterface 00042 { 00043 00044 public: 00046 static MessageInterface & out; 00047 00049 enum priority_levels { 00050 DEBUG_ONLY , 00051 LESS_IMPORTANT , 00052 IMPORTANT 00053 }; 00054 00055 virtual ~MessageInterface() {} 00056 00058 virtual void operator()(const std::string & message, const int priority_level, int intend = 0) = 0; 00059 00061 virtual void operator()(int intend) = 0; 00062 }; 00063 00064 } 00065 00066 #endif