Skip to content

Latest commit

 

History

History
170 lines (128 loc) · 4.97 KB

udisks2block_p.h

File metadata and controls

170 lines (128 loc) · 4.97 KB
 
Oct 2, 2019
Oct 2, 2019
2
3
* Copyright (c) 2018 - 2019 Jolla Ltd.
* Copyright (c) 2019 Open Mobile Platform LLC.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
*
* You may use this file under the terms of the BSD license as follows:
*
* "Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Nemo Mobile nor the names of its contributors
* may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
*/
#ifndef UDISKS2_BLOCK_H
#define UDISKS2_BLOCK_H
#include <QObject>
#include <QVariantMap>
#include <QDBusConnection>
Nov 28, 2018
Nov 28, 2018
39
#include <QPointer>
Feb 21, 2019
Feb 21, 2019
40
#include <functional>
Oct 2, 2019
Oct 2, 2019
42
43
#include <systemsettingsglobal.h>
Aug 30, 2018
Aug 30, 2018
44
#include "udisks2defines.h"
Aug 29, 2018
Aug 29, 2018
45
Aug 24, 2018
Aug 24, 2018
46
47
class QDBusPendingCallWatcher;
48
49
namespace UDisks2 {
Nov 28, 2018
Nov 28, 2018
50
Oct 2, 2019
Oct 2, 2019
51
class SYSTEMSETTINGS_EXPORT Block : public QObject
Oct 31, 2018
Oct 31, 2018
54
Q_PROPERTY(QString connectionBus READ connectionBus NOTIFY updated)
Oct 2, 2019
Oct 2, 2019
57
Block(const QString &path, const UDisks2::InterfacePropertyMap &interfacePropertyMap, QObject *parent = nullptr);
Nov 22, 2018
Nov 22, 2018
58
virtual ~Block();
59
60
61
62
63
64
QString path() const;
QString device() const;
QString preferredDevice() const;
QString drive() const;
Nov 28, 2018
Nov 28, 2018
65
66
QString driveModel() const;
QString driveVendor() const;
Oct 31, 2018
Oct 31, 2018
67
QString connectionBus() const;
Nov 28, 2018
Nov 28, 2018
68
Nov 28, 2018
Nov 28, 2018
69
QString partitionTable() const;
Nov 28, 2018
Nov 28, 2018
70
71
bool isPartition() const;
bool isPartitionTable() const;
72
73
74
75
76
77
qint64 deviceNumber() const;
QString id() const;
qint64 size() const;
Oct 31, 2018
Oct 31, 2018
78
79
bool isCryptoBlock() const;
Aug 29, 2018
Aug 29, 2018
80
bool hasCryptoBackingDevice() const;
Sep 19, 2018
Sep 19, 2018
81
QString cryptoBackingDevicePath() const;
Aug 29, 2018
Aug 29, 2018
82
83
84
QString cryptoBackingDeviceObjectPath() const;
bool isEncrypted() const;
Aug 24, 2018
Aug 24, 2018
85
bool isMountable() const;
Aug 24, 2018
Aug 24, 2018
86
87
bool isFormatting() const;
Sep 27, 2018
Sep 27, 2018
88
bool setFormatting(bool formatting);
Aug 24, 2018
Aug 24, 2018
89
Sep 19, 2018
Sep 19, 2018
90
91
92
bool isLocking() const;
void setLocking();
93
bool isReadOnly() const;
Aug 29, 2018
Aug 29, 2018
94
bool isExternal() const;
Nov 22, 2018
Nov 22, 2018
96
97
bool isValid() const;
98
99
100
101
102
103
104
105
106
107
108
QString idType() const;
QString idVersion() const;
QString idLabel() const;
QString idUUID() const;
QString mountPath() const;
QVariant value(const QString &key) const;
bool hasData() const;
Aug 29, 2018
Aug 29, 2018
109
110
void dumpInfo() const;
Sep 19, 2018
Sep 19, 2018
111
static QString cryptoBackingDevicePath(const QString &objectPath);
Aug 29, 2018
Aug 29, 2018
112
Nov 22, 2018
Nov 22, 2018
113
114
void morph(const Block& other);
Nov 28, 2018
Nov 28, 2018
116
void completed(QPrivateSignal);
Aug 24, 2018
Aug 24, 2018
117
void updated();
Aug 24, 2018
Aug 24, 2018
118
void formatted();
119
120
121
122
void mountPathChanged();
private slots:
void updateProperties(const QDBusMessage &message);
Nov 28, 2018
Nov 28, 2018
123
void complete();
Nov 22, 2018
Nov 22, 2018
126
127
Block& operator=(const Block& other);
Nov 22, 2018
Nov 22, 2018
128
129
130
bool setEncrypted(bool encrypted);
bool setMountable(bool mountable);
Nov 28, 2018
Nov 28, 2018
131
132
133
134
135
void addInterface(const QString &interface, QVariantMap propertyMap);
void removeInterface(const QString &interface);
int interfaceCount() const;
bool hasInterface(const QString &interface) const;
Sep 27, 2018
Sep 27, 2018
136
bool isCompleted() const;
Nov 28, 2018
Nov 28, 2018
137
138
void updateFileSystemInterface(const QVariant &mountPoints);
Sep 27, 2018
Sep 27, 2018
139
140
bool clearFormattingState();
Nov 28, 2018
Nov 28, 2018
141
142
143
void getProperties(const QString &path, const QString &interface,
QPointer<QDBusPendingCallWatcher> &watcherPointer,
std::function<void (const QVariantMap &)> success);
Nov 22, 2018
Nov 22, 2018
145
146
void rescan(const QString &dbusObjectPath);
Aug 30, 2018
Aug 30, 2018
148
UDisks2::InterfacePropertyMap m_interfacePropertyMap;
Oct 31, 2018
Oct 31, 2018
150
QVariantMap m_drive;
151
152
QDBusConnection m_connection;
QString m_mountPath;
Aug 24, 2018
Aug 24, 2018
153
bool m_mountable;
Aug 29, 2018
Aug 29, 2018
154
bool m_encrypted;
Aug 24, 2018
Aug 24, 2018
155
bool m_formatting;
Sep 19, 2018
Sep 19, 2018
156
bool m_locking;
Aug 24, 2018
Aug 24, 2018
157
Nov 28, 2018
Nov 28, 2018
158
159
160
161
162
163
164
165
QPointer<QDBusPendingCallWatcher> m_pendingFileSystem;
QPointer<QDBusPendingCallWatcher> m_pendingBlock;
QPointer<QDBusPendingCallWatcher> m_pendingEncrypted;
QPointer<QDBusPendingCallWatcher> m_pendingDrive;
QPointer<QDBusPendingCallWatcher> m_pendingPartition;
QPointer<QDBusPendingCallWatcher> m_pendingPartitionTable;
friend class BlockDevices;
166
167
168
169
170
};
}
#endif