1 | /* |
2 | SPDX-FileCopyrightText: 2006 Kevin Ottens <ervin@kde.org> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
5 | */ |
6 | |
7 | #ifndef SOLID_IFACES_BLOCK_H |
8 | #define SOLID_IFACES_BLOCK_H |
9 | |
10 | #include <solid/devices/ifaces/deviceinterface.h> |
11 | |
12 | namespace Solid |
13 | { |
14 | namespace Ifaces |
15 | { |
16 | /** |
17 | * This device interface is available on block devices. |
18 | * |
19 | * A block device is an addressable device such as drive or partition. |
20 | * It is possible to interact with such a device using a special file |
21 | * in the system. |
22 | */ |
23 | class Block : virtual public DeviceInterface |
24 | { |
25 | public: |
26 | /** |
27 | * Destroys a Block object. |
28 | */ |
29 | ~Block() override; |
30 | |
31 | /** |
32 | * Retrieves the major number of the node file to interact with |
33 | * the device. |
34 | * |
35 | * @return the device major number |
36 | */ |
37 | virtual int deviceMajor() const = 0; |
38 | |
39 | /** |
40 | * Retrieves the minor number of the node file to interact with |
41 | * the device. |
42 | * |
43 | * @return the device minor number |
44 | */ |
45 | virtual int deviceMinor() const = 0; |
46 | |
47 | /** |
48 | * Retrieves the absolute path of the special file to interact |
49 | * with the device. |
50 | * |
51 | * @return the absolute path of the special file to interact with |
52 | * the device |
53 | */ |
54 | virtual QString device() const = 0; |
55 | }; |
56 | } |
57 | } |
58 | |
59 | Q_DECLARE_INTERFACE(Solid::Ifaces::Block, "org.kde.Solid.Ifaces.Block/0.1" ) |
60 | |
61 | #endif |
62 | |