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
16namespace KIO
17{
18class 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 */
27class KIOCORE_EXPORT FileSystemFreeSpaceJob : public SimpleJob
28{
29 Q_OBJECT
30
31public:
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
46public:
47 KIOCORE_NO_EXPORT explicit FileSystemFreeSpaceJob(FileSystemFreeSpaceJobPrivate &dd);
48
49private:
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 */
63KIOCORE_EXPORT FileSystemFreeSpaceJob *fileSystemFreeSpace(const QUrl &url);
64
65}
66
67#endif /* FILESYSTEMFREESPACEJOB_H */
68

source code of kio/src/core/filesystemfreespacejob.h