From 981f8b3acf7e76f27c02f4ced80d55b424cc7497 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sun, 3 Feb 2013 12:49:25 +0100 Subject: initial commit to mercurial repository. Corresponds to MO version 0.12.6 --- src/logbuffer.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/logbuffer.h (limited to 'src/logbuffer.h') diff --git a/src/logbuffer.h b/src/logbuffer.h new file mode 100644 index 00000000..d1e292b9 --- /dev/null +++ b/src/logbuffer.h @@ -0,0 +1,76 @@ +/* +Copyright (C) 2012 Sebastian Herbord. All rights reserved. + +This file is part of Mod Organizer. + +Mod Organizer is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Mod Organizer is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Mod Organizer. If not, see . +*/ + +#ifndef LOGBUFFER_H +#define LOGBUFFER_H + +#include +#include +#include +#include + + +class LogBuffer : public QObject +{ + Q_OBJECT + +public: + + static void init(int messageCount, QtMsgType minMsgType, const QString &outputFileName); +#if QT_VERSION >= 0x050000 + static void log(QtMsgType type, const QMessageLogContext &context, const QString &message); +#else + static void log(QtMsgType type, const char *message); +#endif + + static void writeNow(); + static void cleanQuit(); + +public: + + virtual ~LogBuffer(); + + void logMessage(QtMsgType type, const QString &message); + +signals: + +public slots: + +private: + + explicit LogBuffer(int messageCount, QtMsgType minMsgType, const QString &outputFileName); + LogBuffer(const LogBuffer &reference); // not implemented + LogBuffer &operator=(const LogBuffer &reference); // not implemented + + void write() const; + +private: + + static QScopedPointer s_Instance; + static QMutex s_Mutex; + + QString m_OutFileName; + bool m_ShutDown; + QtMsgType m_MinMsgType; + unsigned int m_NumMessages; + std::vector m_Messages; + +}; + +#endif // LOGBUFFER_H -- cgit v1.3.1