File indexing completed on 2023-12-03 05:01:58
0001 /* 0002 Copyright (C) 2013 Daniel Vrátil <dvratil@redhat.com> 0003 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Lesser General Public 0006 License as published by the Free Software Foundation; either 0007 version 2.1 of the License, or (at your option) any later version. 0008 0009 This library is distributed in the hope that it will be useful, 0010 but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0012 Lesser General Public License for more details. 0013 0014 You should have received a copy of the GNU Lesser General Public 0015 License along with this library; if not, write to the Free Software 0016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0017 */ 0018 0019 #include "message-processor.h" 0020 0021 using namespace KTp; 0022 0023 class FilterPlugin 0024 { 0025 public: 0026 explicit FilterPlugin(const KPluginInfo &pluginInfo, KTp::AbstractMessageFilter *instance); 0027 explicit FilterPlugin(const QString &name, int weight, KTp::AbstractMessageFilter *instance); 0028 0029 bool operator<(const FilterPlugin &other) const; 0030 bool operator==(const FilterPlugin &other) const; 0031 0032 QString name; 0033 int weight; 0034 KTp::AbstractMessageFilter* instance; 0035 }; 0036 0037 class MessageProcessor::Private 0038 { 0039 public: 0040 Private(MessageProcessor *parent): 0041 q(parent) 0042 { } 0043 0044 void loadFilters(); 0045 0046 void loadFilter(const KPluginInfo &pluginInfo); 0047 void unloadFilter(const KPluginInfo &pluginInfo); 0048 0049 QList<FilterPlugin> filters; 0050 0051 private: 0052 MessageProcessor *q; 0053 };