LunaSysMgr
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
staticmatchlist.h
Go to the documentation of this file.
1 /* @@@LICENSE
2 *
3 * Copyright (c) 2011-2012 Hewlett-Packard Development Company, L.P.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * LICENSE@@@ */
18 
19 
20 
21 
22 #ifndef STATICMATCHLIST_H_
23 #define STATICMATCHLIST_H_
24 
25 #include "filterlist.h"
26 #include <QSet>
27 #include <QString>
28 
29 class QStringList;
30 class QString;
31 namespace DimensionsSystemInterface
32 {
33 
34 namespace StaticMatchListType
35 {
36  enum Enum
37  {
40  };
41 }
42 
44 {
45 public:
47  StaticMatchList(StaticMatchListType::Enum type, const QStringList& ids);
48  virtual ~StaticMatchList();
49 
50  virtual void add(const QString& id);
51  virtual void remove(const QString& id);
52  virtual void clear();
53 
54  virtual bool save(const QString& filepath);
55  //if successfull, load() deletes the set and populates it from the file
56  virtual bool load(const QString& filepath);
57 
58  //continued plumbing from FilterList
59  virtual bool allow(const QString& id) = 0;
60  virtual bool deny(const QString& id) = 0;
61 
62  static QString SaveTagKey_Type;
63  static QString SaveTagKey_Id;
64 
65 protected:
66 
67  virtual bool match(const QString& id);
69  QSet<QString> m_ids;
70 };
71 
72 }
73 
74 #endif /* STATICMATCHLIST_H_ */