MyGUI 3.2.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files
- Examples

- File List
- Globals

MyGUI_LogSource.cpp
Go to the documentation of this file.
1
6 /*
7 This file is part of MyGUI.
8
9 MyGUI is free software: you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 MyGUI is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public License
20 along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
21 */
22
23 #include "MyGUI_Precompiled.h"
24 #include "MyGUI_LogSource.h"
25
26 namespace MyGUI
27 {
28
29 LogSource::LogSource() :
30 mFilter(nullptr)
31 {
32 }
33
34 LogSource::~LogSource()
35 {
36 }
37
38 void LogSource::setLogFilter(ILogFilter* _filter)
39 {
40 mFilter = _filter;
41 }
42
43 void LogSource::addLogListener(ILogListener* _lestener)
44 {
45 mListeners.push_back(_lestener);
46 }
47
48 void LogSource::open()
49 {
50 for (VectorLogListeners::iterator listener = mListeners.begin(); listener != mListeners.end(); ++listener)
51 (*listener)->open();
52 }
53
54 void LogSource::close()
55 {
56 for (VectorLogListeners::iterator listener = mListeners.begin(); listener != mListeners.end(); ++listener)
57 (*listener)->close();
58 }
59
60 void LogSource::flush()
61 {
62 for (VectorLogListeners::iterator listener = mListeners.begin(); listener != mListeners.end(); ++listener)
63 (*listener)->flush();
64 }
65
66 void LogSource::log(const std::string& _section, LogLevel _level, const struct tm* _time, const std::string& _message, const char* _file, int _line)
67 {
68 if (mFilter != nullptr)
69 {
70 if (!mFilter->shouldLog(_section, _level, _time, _message, _file, _line))
71 return;
72 }
73
74 for (VectorLogListeners::iterator listener = mListeners.begin(); listener != mListeners.end(); ++listener)
75 (*listener)->log(_section, _level, _time, _message, _file, _line);
76 }
77
78 } // namespace MyGUI
MyGUI::LogSource::setLogFilter
void setLogFilter(ILogFilter *_filter)
Definition: MyGUI_LogSource.cpp:38
MyGUI::LogSource::flush
void flush()
Definition: MyGUI_LogSource.cpp:60
MyGUI_Precompiled.h
MyGUI::LogSource::LogSource
LogSource()
Definition: MyGUI_LogSource.cpp:29
MyGUI::LogSource::open
void open()
Definition: MyGUI_LogSource.cpp:48
MyGUI::LogLevel
Definition: MyGUI_LogLevel.h:30
MyGUI::LogSource::~LogSource
~LogSource()
Definition: MyGUI_LogSource.cpp:34
nullptr
#define nullptr
Definition: MyGUI_Prerequest.h:47
MyGUI::ILogFilter::shouldLog
virtual bool shouldLog(const std::string &_section, LogLevel _level, const struct tm *_time, const std::string &_message, const char *_file, int _line)
Definition: MyGUI_ILogFilter.h:39
MyGUI_LogSource.h
MyGUI::ILogFilter
Definition: MyGUI_ILogFilter.h:31
MyGUI::ILogListener
Definition: MyGUI_ILogListener.h:31
MyGUI::LogSource::close
void close()
Definition: MyGUI_LogSource.cpp:54
MyGUI::LogSource::log
void log(const std::string &_section, LogLevel _level, const struct tm *_time, const std::string &_message, const char *_file, int _line)
Definition: MyGUI_LogSource.cpp:66
MyGUI::LogSource::addLogListener
void addLogListener(ILogListener *_lestener)
Definition: MyGUI_LogSource.cpp:43