1 /*
2     Copyright 2007 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_BACKENDS_WMI_GENERICINTERFACE_H
22 #define SOLID_BACKENDS_WMI_GENERICINTERFACE_H
23 
24 #include <solid-lite/ifaces/genericinterface.h>
25 #include <solid-lite/genericinterface.h>
26 #include "wmideviceinterface.h"
27 
28 namespace Solid
29 {
30 namespace Backends
31 {
32 namespace Wmi
33 {
34 class WmiDevice;
35 
36 class GenericInterface : public DeviceInterface, virtual public Solid::Ifaces::GenericInterface
37 {
38     Q_OBJECT
39     Q_INTERFACES(Solid::Ifaces::GenericInterface)
40 
41 public:
42     GenericInterface(WmiDevice *device);
43     virtual ~GenericInterface();
44 
45     virtual QVariant property(const QString &key) const;
46     virtual QMap<QString, QVariant> allProperties() const;
47     virtual bool propertyExists(const QString &key) const;
48 
49 Q_SIGNALS:
50     void propertyChanged(const QMap<QString,int> &changes);
51     void conditionRaised(const QString &condition, const QString &reason);
52 };
53 }
54 }
55 }
56 
57 #endif // SOLID_BACKENDS_WMI_GENERICINTERFACE_H
58