summaryrefslogtreecommitdiffstats
path: root/src/modules/FileLogger
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-06-16 14:07:06 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-06-16 14:07:06 +0200
commit0b0d883a00751c946fab4c897bab01859c598a88 (patch)
treee725eed6c843bf42d88ca46751f4c03bd21fed3f /src/modules/FileLogger
parent766c56a693e8b1bd4293459bb256abdc0515a0b5 (diff)
downloadmad-0b0d883a00751c946fab4c897bab01859c598a88.tar
mad-0b0d883a00751c946fab4c897bab01859c598a88.zip
Logger werden jetzt durch shared_ptr gespeichert
Diffstat (limited to 'src/modules/FileLogger')
-rw-r--r--src/modules/FileLogger/FileLogger.cpp6
-rw-r--r--src/modules/FileLogger/FileLogger.h8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/modules/FileLogger/FileLogger.cpp b/src/modules/FileLogger/FileLogger.cpp
index a78ab36..bdae536 100644
--- a/src/modules/FileLogger/FileLogger.cpp
+++ b/src/modules/FileLogger/FileLogger.cpp
@@ -26,7 +26,7 @@ namespace Mad {
namespace Modules {
FileLogger::ConfigHelper FileLogger::configHelper;
-std::set<FileLogger*> FileLogger::loggers;
+std::set<boost::shared_ptr<FileLogger> > FileLogger::loggers;
bool FileLogger::ConfigHelper::handleConfigEntry(const Core::ConfigEntry &entry, bool handled) {
@@ -37,10 +37,10 @@ bool FileLogger::ConfigHelper::handleConfigEntry(const Core::ConfigEntry &entry,
if(entry[0][0].matches("File")) {
if(entry[1].empty()) {
if(!entry[0][1].empty()) {
- FileLogger *logger = new FileLogger(entry[0][1]);
+ boost::shared_ptr<FileLogger> logger(new FileLogger(entry[0][1]));
loggers.insert(logger);
- Core::LogManager::get()->registerLogger(static_cast<Logger*>(logger));
+ Core::LogManager::get()->registerLogger(boost::static_pointer_cast<Logger>(logger));
}
else {
Logger::logf(Logger::WARNING, "FileLogger: no filename given.");
diff --git a/src/modules/FileLogger/FileLogger.h b/src/modules/FileLogger/FileLogger.h
index 04e2126..9b0f8e2 100644
--- a/src/modules/FileLogger/FileLogger.h
+++ b/src/modules/FileLogger/FileLogger.h
@@ -29,7 +29,7 @@
namespace Mad {
namespace Modules {
-class FileLogger : private Core::Logger, private Core::RemoteLogger {
+class FileLogger : public Core::Logger, public Core::RemoteLogger {
private:
class ConfigHelper : public Core::Configurable {
protected:
@@ -40,7 +40,7 @@ class FileLogger : private Core::Logger, private Core::RemoteLogger {
};
static ConfigHelper configHelper;
- static std::set<FileLogger*> loggers;
+ static std::set<boost::shared_ptr<FileLogger> > loggers;
std::ofstream file;
@@ -63,8 +63,8 @@ class FileLogger : private Core::Logger, private Core::RemoteLogger {
static void unregisterConfigHelper() {
Core::ConfigManager::get()->unregisterConfigurable(&configHelper);
- for(std::set<FileLogger*>::iterator logger = loggers.begin(); logger != loggers.end(); ++logger) {
- delete *logger;
+ for(std::set<boost::shared_ptr<FileLogger> >::iterator logger = loggers.begin(); logger != loggers.end(); ++logger) {
+ Core::LogManager::get()->unregisterLogger(boost::static_pointer_cast<Logger>(*logger));
}
loggers.clear();