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

Solid

  • 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
31namespace 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::DeviceInterface::Type
Type
This enum type defines the type of device interface that a Device can have.
Definition: deviceinterface.h:67
Solid::Device
This class allows applications to deal with devices available in the underlying system.
Definition: device.h:49
Solid::Predicate
This class implements predicates for devices.
Definition: predicate.h:46
Solid::Predicate::ComparisonOperator
ComparisonOperator
The comparison operator which can be used for matching within the predicate.
Definition: predicate.h:54
Solid::Predicate::Type
Type
The predicate type which controls how the predicate is handled.
Definition: predicate.h:64
Solid::Predicate::Conjunction
@ Conjunction
Definition: predicate.h:64
deviceinterface.h
Solid
Definition: acadapter.h:29
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 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-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 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
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