1 /*
2     Copyright 2010 Michael Zanetti <mzanetti@kde.org>
3     Copyright 2010 Lukas Tinkl <ltinkl@redhat.com>
4 
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Lesser General Public
7     License as published by the Free Software Foundation; either
8     version 2.1 of the License, or (at your option) version 3, or any
9     later version accepted by the membership of KDE e.V. (or its
10     successor approved by the membership of KDE e.V.), which shall
11     act as a proxy defined in Section 6 of version 3 of the license.
12 
13     This library is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16     Lesser General Public License for more details.
17 
18     You should have received a copy of the GNU Lesser General Public
19     License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #ifndef UDISKSSTORAGEDRIVE_H
23 #define UDISKSSTORAGEDRIVE_H
24 
25 #include <ifaces/storagedrive.h>
26 #include "udisksblock.h"
27 
28 namespace Solid
29 {
30 namespace Backends
31 {
32 namespace UDisks
33 {
34 
35 class UDisksStorageDrive: public Block, virtual public Solid::Ifaces::StorageDrive
36 {
37     Q_OBJECT
38     Q_INTERFACES(Solid::Ifaces::StorageDrive)
39 
40 public:
41     UDisksStorageDrive(UDisksDevice *device);
42     virtual ~UDisksStorageDrive();
43 
44     virtual qulonglong size() const;
45     virtual bool isHotpluggable() const;
46     virtual bool isRemovable() const;
47     virtual Solid::StorageDrive::DriveType driveType() const;
48     virtual Solid::StorageDrive::Bus bus() const;
49 };
50 
51 }
52 }
53 }
54 
55 #endif // UDISKSSTORAGEDRIVE_H
56