1 | /* |
2 | This file is part of the KDE libraries |
3 | SPDX-FileCopyrightText: 2000 Stephan Kulow <coolo@kde.org> |
4 | SPDX-FileCopyrightText: 2000-2009 David Faure <faure@kde.org> |
5 | SPDX-FileCopyrightText: 2014 Mathias Tillman <master.homer@gmail.com> |
6 | |
7 | SPDX-License-Identifier: LGPL-2.0-or-later |
8 | */ |
9 | |
10 | #ifndef FILESYSTEMFREESPACEJOB_H |
11 | #define FILESYSTEMFREESPACEJOB_H |
12 | |
13 | #include "kiocore_export.h" |
14 | #include "simplejob.h" |
15 | |
16 | namespace KIO |
17 | { |
18 | class FileSystemFreeSpaceJobPrivate; |
19 | /*! |
20 | * \class KIO::FileSystemFreeSpaceJob |
21 | * \inheaderfile KIO/FileSystemFreeSpaceJob |
22 | * \inmodule KIOCore |
23 | * |
24 | * \brief A KIO job that retrieves the total and available size of a filesystem. |
25 | * \since 5.3 |
26 | */ |
27 | class KIOCORE_EXPORT FileSystemFreeSpaceJob : public SimpleJob |
28 | { |
29 | Q_OBJECT |
30 | |
31 | public: |
32 | ~FileSystemFreeSpaceJob() override; |
33 | |
34 | /*! |
35 | * Get total amount of space |
36 | * \since 6.0 |
37 | */ |
38 | KIO::filesize_t size() const; |
39 | |
40 | /*! |
41 | * Get available amount of space |
42 | * \since 6.0 |
43 | */ |
44 | KIO::filesize_t availableSize() const; |
45 | |
46 | public: |
47 | KIOCORE_NO_EXPORT explicit FileSystemFreeSpaceJob(FileSystemFreeSpaceJobPrivate &dd); |
48 | |
49 | private: |
50 | void slotFinished() override; |
51 | Q_DECLARE_PRIVATE(FileSystemFreeSpaceJob) |
52 | }; |
53 | |
54 | /*! |
55 | * \relates KIO::FileSystemFreeSpaceJob |
56 | * |
57 | * Get a filesystem's total and available space. |
58 | * |
59 | * \a url Url to the filesystem. |
60 | * |
61 | * Returns the job handling the operation. |
62 | */ |
63 | KIOCORE_EXPORT FileSystemFreeSpaceJob *fileSystemFreeSpace(const QUrl &url); |
64 | |
65 | } |
66 | |
67 | #endif /* FILESYSTEMFREESPACEJOB_H */ |
68 | |