00001 /* 00002 SapecNG - Next Generation Symbolic Analysis Program for Electric Circuit 00003 Copyright (C) 2009, Michele Caini 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00019 00020 #ifndef LOGPOLICY_H 00021 #define LOGPOLICY_H 00022 00023 00024 #include <string> 00025 00026 00027 namespace sapecng 00028 { 00029 00030 00031 class LogPolicy 00032 { 00033 00034 public: 00035 virtual ~LogPolicy() { }; 00036 00037 virtual void operator()(const std::string& msg) = 0; 00038 00039 }; 00040 00041 00042 class NullLogPolicy: public LogPolicy 00043 { 00044 00045 public: 00046 void operator()(const std::string& msg) { } 00047 00048 }; 00049 00050 00051 } 00052 00053 00054 #endif // LOGPOLICY_H