00001
00002
00003
00004
00005
00006
00007 #include <iostream>
00008 #include "LoggerUpload.h"
00009 #include "MainWindow.h"
00010
00011 const MainWindow *LoggerUpload::m_mainWindow = (const MainWindow*) 0;
00012
00013 LoggerUpload::LoggerUpload()
00014 {
00015 }
00016
00017 void LoggerUpload::bindToMainWindow (const MainWindow *mainWindow)
00018 {
00019 m_mainWindow = mainWindow;
00020 }
00021
00022 void LoggerUpload::loggerAssert(const char *condition,
00023 const char* file,
00024 int line)
00025 {
00026 loggerOutput (condition,
00027 file,
00028 line,
00029 "assert");
00030 }
00031
00032 void LoggerUpload::loggerCheckPtr(const char *ptr,
00033 const char *file,
00034 int line)
00035 {
00036 loggerOutput (ptr,
00037 file,
00038 line,
00039 "null pointer");
00040 }
00041
00042 void LoggerUpload::loggerOutput(const char *comment,
00043 const char *file,
00044 int line,
00045 const char *context)
00046 {
00047 if (m_mainWindow != 0) {
00048 m_mainWindow->saveErrorReportFileAndExit(comment,
00049 file,
00050 line,
00051 context);
00052 }
00053
00054 std::cerr << "Error '" << context << "' at file " << file << " line " << line << ": " << comment << std::endl;
00055 exit (-1);
00056 }