1 | /* |
---|---|
2 | Copyright 2010 Michael Zanetti <mzanetti@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 UDISKS2DEVICEINTERFACE_H |
22 | #define UDISKS2DEVICEINTERFACE_H |
23 | |
24 | #include <ifaces/deviceinterface.h> |
25 | #include "udisksdevice.h" |
26 | |
27 | #include <QtCore/QObject> |
28 | #include <QtCore/QStringList> |
29 | |
30 | namespace Solid |
31 | { |
32 | namespace Backends |
33 | { |
34 | namespace UDisks2 |
35 | { |
36 | |
37 | class DeviceInterface : public QObject, virtual public Solid::Ifaces::DeviceInterface |
38 | { |
39 | Q_OBJECT |
40 | Q_INTERFACES(Solid::Ifaces::DeviceInterface) |
41 | public: |
42 | DeviceInterface(Device *device); |
43 | virtual ~DeviceInterface(); |
44 | |
45 | protected: |
46 | Device *m_device; |
47 | |
48 | public: |
49 | inline static QStringList toStringList(Solid::DeviceInterface::Type type) |
50 | { |
51 | QStringList list; |
52 | |
53 | switch(type) |
54 | { |
55 | case Solid::DeviceInterface::GenericInterface: |
56 | list << "generic"; |
57 | break; |
58 | case Solid::DeviceInterface::Processor: |
59 | // Doesn't exist with UDisks |
60 | break; |
61 | case Solid::DeviceInterface::Block: |
62 | list << "block"; |
63 | break; |
64 | case Solid::DeviceInterface::StorageAccess: |
65 | list << "volume"; |
66 | break; |
67 | case Solid::DeviceInterface::StorageDrive: |
68 | list << "storage"; |
69 | break; |
70 | case Solid::DeviceInterface::OpticalDrive: |
71 | list << "storage.cdrom"; |
72 | break; |
73 | case Solid::DeviceInterface::StorageVolume: |
74 | list << "volume"; |
75 | break; |
76 | case Solid::DeviceInterface::OpticalDisc: |
77 | list << "volume.disc"; |
78 | break; |
79 | case Solid::DeviceInterface::Camera: |
80 | // Doesn't exist with UDisks |
81 | break; |
82 | case Solid::DeviceInterface::PortableMediaPlayer: |
83 | // Doesn't exist with UDisks |
84 | break; |
85 | case Solid::DeviceInterface::NetworkInterface: |
86 | // Doesn't exist with UDisks |
87 | break; |
88 | case Solid::DeviceInterface::AcAdapter: |
89 | // Doesn't exist with UDisks |
90 | break; |
91 | case Solid::DeviceInterface::Battery: |
92 | // Doesn't exist with UDisks |
93 | break; |
94 | case Solid::DeviceInterface::Button: |
95 | // Doesn't exist with UDisks |
96 | break; |
97 | case Solid::DeviceInterface::AudioInterface: |
98 | // Doesn't exist with UDisks |
99 | break; |
100 | case Solid::DeviceInterface::DvbInterface: |
101 | // Doesn't exist with UDisks |
102 | break; |
103 | case Solid::DeviceInterface::Video: |
104 | // Doesn't exist with UDisks |
105 | break; |
106 | case Solid::DeviceInterface::SerialInterface: |
107 | // Doesn't exist with UDisks |
108 | break; |
109 | case Solid::DeviceInterface::InternetGateway: |
110 | break; |
111 | case Solid::DeviceInterface::SmartCardReader: |
112 | // Doesn't exist with UDisks |
113 | case Solid::DeviceInterface::NetworkShare: |
114 | // Doesn't exist with UDisks |
115 | break; |
116 | case Solid::DeviceInterface::Unknown: |
117 | break; |
118 | case Solid::DeviceInterface::Last: |
119 | break; |
120 | } |
121 | |
122 | return list; |
123 | } |
124 | |
125 | inline static Solid::DeviceInterface::Type fromString(const QString &capability) |
126 | { |
127 | if (capability == "generic") |
128 | return Solid::DeviceInterface::GenericInterface; |
129 | else if (capability == "block") |
130 | return Solid::DeviceInterface::Block; |
131 | else if (capability == "storage") |
132 | return Solid::DeviceInterface::StorageDrive; |
133 | else if (capability == "storage.cdrom") |
134 | return Solid::DeviceInterface::OpticalDrive; |
135 | else if (capability == "volume") |
136 | return Solid::DeviceInterface::StorageVolume; |
137 | else if (capability == "volume.disc") |
138 | return Solid::DeviceInterface::OpticalDisc; |
139 | else |
140 | return Solid::DeviceInterface::Unknown; |
141 | } |
142 | }; |
143 | |
144 | } |
145 | } |
146 | } |
147 | |
148 | #endif // UDISKS2DEVICEINTERFACE_H |
149 |