LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
loggingfilter.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QHash>
12 #include "sysconfig.h"
13 
14 namespace LC::Util
15 {
17  {
18  public:
19  using Categories = QHash<QLatin1String, QList<QtMsgType>>;
20  private:
21  struct Context;
22  static QList<Context> ContextStack_;
23  public:
24  explicit LoggingFilter (const Categories& cats);
25  ~LoggingFilter ();
26 
27  LoggingFilter (const LoggingFilter&) = delete;
28  LoggingFilter (LoggingFilter&&) = delete;
29  LoggingFilter& operator= (const LoggingFilter&) = delete;
30  LoggingFilter& operator= (LoggingFilter&&) = delete;
31  private:
32  static void Filter (QLoggingCategory*);
33  };
34 }
Container< T > Filter(const Container< T > &c, F f)
Definition: prelude.h:118
#define UTIL_SYS_API
Definition: sysconfig.h:16
QHash< QLatin1String, QList< QtMsgType > > Categories
Definition: loggingfilter.h:19