File indexing completed on 2024-04-28 04:49:00

0001 /*
0002    SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0003 
0004    SPDX-License-Identifier: LGPL-3.0-or-later
0005  */
0006 
0007 #ifndef LOCALFILELISTING_H
0008 #define LOCALFILELISTING_H
0009 
0010 #include "elisaLib_export.h"
0011 
0012 #include "../abstractfile/abstractfilelisting.h"
0013 
0014 
0015 #include <memory>
0016 
0017 class LocalFileListingPrivate;
0018 
0019 class ELISALIB_EXPORT LocalFileListing : public AbstractFileListing
0020 {
0021 
0022     Q_OBJECT
0023 
0024 public:
0025 
0026     explicit LocalFileListing(QObject *parent = nullptr);
0027 
0028     ~LocalFileListing() override;
0029 
0030 private:
0031 
0032     void executeInit(QHash<QUrl, QDateTime> allFiles) override;
0033 
0034     void triggerRefreshOfContent() override;
0035 
0036     void triggerStop() override;
0037 
0038     DataTypes::TrackDataType scanOneFile(const QUrl &scanFile, const QFileInfo &scanFileInfo, FileSystemWatchingModes watchForFileSystemChanges) override;
0039 
0040     std::unique_ptr<LocalFileListingPrivate> d;
0041 
0042 };
0043 
0044 
0045 
0046 #endif // LOCALFILELISTING_H