]> vaikene.ee Git - evaf/blobdiff - src/libs/Common/logger.h
Mac OS changes and switched to c++11.
[evaf] / src / libs / Common / logger.h
index 6e49ef723bcbd621fb65206045a1e671d4ff889c..742ab9036a7957d48ea42cbd9170306f4418f4bd 100644 (file)
@@ -3,7 +3,7 @@
  * @brief iLogger interface implementation
  * @author Enar Vaikene
  *
- * Copyright (c) 2011-2012 Enar Vaikene
+ * Copyright (c) 2011-2019 Enar Vaikene
  *
  * This file is part of the eVaf C++ cross-platform application development framework.
  *
@@ -27,6 +27,7 @@
 #include <QHash>
 #include <QExplicitlySharedDataPointer>
 #include <QSharedData>
+#include <QScopedPointer>
 
 class QThread;
 
@@ -36,7 +37,7 @@ namespace Common {
 namespace Internal {
 
 /// Default fatal error message handler
-void defFatalMsgHandler(QString const & msg, QString const & source, QString const & where);
+[[noreturn]] void defFatalMsgHandler(QString const & msg, QString const & source, QString const & where);
 
 /**
  * Logger source.
@@ -138,6 +139,11 @@ class Logger : public iLogger
 
 public:
 
+    /**
+     * Destroys the iLogger interface instance
+     */
+    static void destroyInstance();
+
     Logger();
 
     virtual ~Logger();
@@ -156,23 +162,23 @@ public:
 
     virtual void setDefaultSource(QString const & source);
 
-    virtual iLogger::Severity severity(QString const & source = 0);
+    virtual iLogger::Severity severity(QString const & source = QString());
 
-    virtual void setSeverity(iLogger::Severity severity, QString const & source = 0);
+    virtual void setSeverity(iLogger::Severity severity, QString const & source = QString());
 
-    virtual uint maxSize(QString const & source = 0);
+    virtual uint maxSize(QString const & source = QString());
 
-    virtual void setMaxSize(uint maxSize, QString const & source = 0);
+    virtual void setMaxSize(uint maxSize, QString const & source = QString());
 
-    virtual uint maxCount(QString const & source = 0);
+    virtual uint maxCount(QString const & source = QString());
 
-    virtual void setMaxCount(uint maxCount, QString const & source = 0);
+    virtual void setMaxCount(uint maxCount, QString const & source = QString());
 
     virtual iLogger::Severity consoleSeverity() const { return mConsoleSeverity; }
 
     virtual void setConsoleSeverity(iLogger::Severity severity);
 
-    virtual void write(Severity severity, QString const & msg, QString const & source = 0, QString const & where = 0);
+    virtual void write(Severity severity, QString const & msg, QString const & source = QString(), QString const & where = QString());
 
     virtual QString printf(char const * const fmt, ...) const;
 
@@ -204,10 +210,10 @@ private: // Members
     QHash<QString, QExplicitlySharedDataPointer<LoggerSource> > mSources;
 
     /// Worker thread
-    QThread * mThread;
+    QScopedPointer<QThread> mThread;
 
     /// Worker object
-    LoggerWorker * mWorker;
+    QScopedPointer<LoggerWorker> mWorker;
 
 
 private: // Methods