serverlistfilterinfo.h
1 //------------------------------------------------------------------------------
2 // serverlistfilterinfo.h
3 //------------------------------------------------------------------------------
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 // 02110-1301, USA.
19 //
20 //------------------------------------------------------------------------------
21 // Copyright (C) 2011 "Zalewa" <zalewapl@gmail.com>
22 //------------------------------------------------------------------------------
23 #ifndef __SERVERLISTFILTERINFO_H__
24 #define __SERVERLISTFILTERINFO_H__
25 
26 #include <QString>
27 #include <QStringList>
28 
33 {
34 public:
35  bool bEnabled;
36  bool bShowEmpty;
37  bool bShowFull;
38  bool bShowOnlyValid;
39  QStringList gameModes;
40  QStringList gameModesExcluded;
41 
48  unsigned maxPing;
49  QString serverName;
50  QStringList wads;
51  QStringList wadsExcluded;
52 
55  {
56  copy(other);
57  }
58 
59  ServerListFilterInfo& operator=(const ServerListFilterInfo& other)
60  {
61  if (this != &other)
62  {
63  copy(other);
64  }
65 
66  return *this;
67  }
68 
76  bool isFilteringAnything() const;
77 
78  QString toString() const;
79 
80 private:
81  void copy(const ServerListFilterInfo& other);
82  void copyTrimmed(QStringList& target, const QStringList& source) const;
83 };
84 
85 #endif
Structure describing server filter.
unsigned maxPing
Maximum allowed ping.
bool isFilteringAnything() const
Informs if filter will apply to any server.