File indexing completed on 2024-05-12 05:04:25
0001 // SPDX-FileCopyrightText: 2019 Harald Sitter <sitter@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 #pragma once 0005 0006 #include <QHash> 0007 #include <QReadWriteLock> 0008 0009 struct QMessageFilterContainer { 0010 QMessageFilterContainer(); 0011 ~QMessageFilterContainer(); 0012 void insert(const QString &needle, const QString &replace); 0013 void clear(); 0014 0015 QString filter(const QString &msg); 0016 0017 // Message handler is called across threads. Synchronize for good measure. 0018 QReadWriteLock lock; 0019 QtMessageHandler handler; 0020 0021 private: 0022 QHash<QString, QString> filters; 0023 }; 0024 0025 Q_GLOBAL_STATIC(QMessageFilterContainer, s_messageFilter)