gio-qt 0.0.16
Loading...
Searching...
No Matches
dgiomountoperation.h
1// SPDX-FileCopyrightText: 2019 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DGIOMOUNTOPERATION_H
6#define DGIOMOUNTOPERATION_H
7
8#include <QObject>
9
10namespace Glib{
11template <class T_CppObject>
12class RefPtr;
13}
14namespace Gio{
15class MountOperation;
16}
17
18enum DGioAskPasswordFlag
19{
20 ASK_PASSWORD_NEED_PASSWORD = (1 << 0),
21 ASK_PASSWORD_NEED_USERNAME = (1 << 1),
22 ASK_PASSWORD_NEED_DOMAIN = (1 << 2),
23 ASK_PASSWORD_SAVING_SUPPORTED = (1 << 3),
24 ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4)
25};
26Q_DECLARE_FLAGS(DGioAskPasswordFlags, DGioAskPasswordFlag)
27
28
32enum DGioMountOperationResult
33{
34 MOUNT_OPERATION_HANDLED,
35 MOUNT_OPERATION_ABORTED,
36 MOUNT_OPERATION_UNHANDLED
37};
38Q_ENUMS(DGioMountOperationResult);
39
40enum DGioPasswordSave
41{
42 PASSWORD_SAVE_NEVER,
43 PASSWORD_SAVE_FOR_SESSION,
44 PASSWORD_SAVE_PERMANENTLY
45};
46Q_ENUMS(DGioPasswordSave);
47
48class DGioMountOperationPrivate;
49class DGioMountOperation : public QObject
50{
51 Q_OBJECT
52public:
53 explicit DGioMountOperation(QObject *parent);
54 ~DGioMountOperation();
55
56 QString username() const;
57 void setUsername(QString name);
58 QString password() const;
59 void setPassword(QString password);
60 DGioPasswordSave passwordSave();
61 void setPasswordSave(DGioPasswordSave save);
62 QString domain() const;
63 void setDomain(QString domain);
64
65 bool anonymous()const;
66 void setAnonymous(bool anonymous = true);
67 int choice()const;
68 void setChoice(int choice);
69
70 void reply(DGioMountOperationResult result);
71
72 // do not release the ptr returned
73 Glib::RefPtr<Gio::MountOperation> getGIOMountOperationObj();
74
75Q_SIGNALS:
76 void askPassword(QString message, QString defaultUser, QString defaultDomain, DGioAskPasswordFlags flags);
77 void askQuestion(QString message, QStringList choices);
78 void showUnmountProgress(QString message, qint64 timeLeftMs, qint64 bytesLeft);
79
80private:
81 QScopedPointer<DGioMountOperationPrivate> d_ptr;
82
83 Q_DECLARE_PRIVATE(DGioMountOperation)
84};
85
86#endif // DGIOMOUNTOPERATION_H
Definition dgiomountoperation.h:12