• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

Solid

  • sources
  • kde-4.14
  • kdelibs
  • solid
  • solid
predicate.h
Go to the documentation of this file.
1 /*
2  Copyright 2006 Kevin Ottens <ervin@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) version 3, or any
8  later version accepted by the membership of KDE e.V. (or its
9  successor approved by the membership of KDE e.V.), which shall
10  act as a proxy defined in Section 6 of version 3 of the license.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef SOLID_PREDICATE_H
22 #define SOLID_PREDICATE_H
23 
24 #include <QtCore/QVariant>
25 #include <QtCore/QSet>
26 
27 #include <solid/solid_export.h>
28 
29 #include <solid/deviceinterface.h>
30 
31 namespace Solid
32 {
33  class Device;
34 
45  class SOLID_EXPORT Predicate
46  {
47  public:
54  enum ComparisonOperator { Equals, Mask };
55 
64  enum Type { PropertyCheck, Conjunction, Disjunction, InterfaceCheck };
65 
69  Predicate();
70 
76  Predicate(const Predicate &other);
77 
87  Predicate(const DeviceInterface::Type &ifaceType,
88  const QString &property, const QVariant &value,
89  ComparisonOperator compOperator = Equals);
90 
100  Predicate(const QString &ifaceName,
101  const QString &property, const QVariant &value,
102  ComparisonOperator compOperator = Equals);
103 
109  explicit Predicate(const DeviceInterface::Type &ifaceType);
110 
116  explicit Predicate(const QString &ifaceName);
117 
121  ~Predicate();
122 
123 
130  Predicate &operator=(const Predicate &other);
131 
132 
139  Predicate operator &(const Predicate &other);
140 
147  Predicate &operator &=(const Predicate &other);
148 
155  Predicate operator|(const Predicate &other);
156 
163  Predicate &operator|=(const Predicate &other);
164 
172  bool isValid() const;
173 
180  bool matches(const Device &device) const;
181 
187  QSet<DeviceInterface::Type> usedTypes() const;
188 
194  QString toString() const;
195 
203  static Predicate fromString(const QString &predicate);
204 
211  Type type() const;
212 
220  DeviceInterface::Type interfaceType() const;
221 
229  QString propertyName() const;
230 
238  QVariant matchingValue() const;
239 
247  ComparisonOperator comparisonOperator() const;
248 
256  Predicate firstOperand() const;
257 
265  Predicate secondOperand() const;
266 
267  private:
268  class Private;
269  Private * const d;
270  };
271 }
272 
273 #endif
Solid::Predicate::ComparisonOperator
ComparisonOperator
The comparison operator which can be used for matching within the predicate.
Definition: predicate.h:54
Solid::Device
This class allows applications to deal with devices available in the underlying system.
Definition: device.h:48
Solid::DeviceInterface::Type
Type
This enum type defines the type of device interface that a Device can have.
Definition: deviceinterface.h:67
QSet
QString
Solid::Predicate::Type
Type
The predicate type which controls how the predicate is handled.
Definition: predicate.h:64
Solid::Predicate
This class implements predicates for devices.
Definition: predicate.h:45
deviceinterface.h
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:23:26 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Solid

Skip menu "Solid"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal