File indexing completed on 2024-04-14 04:43:59
0001 /* 0002 SPDX-FileCopyrightText: 2018 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0003 0004 SPDX-License-Identifier: LGPL-3.0-or-later 0005 */ 0006 0007 #ifndef FILESCANNER_H 0008 #define FILESCANNER_H 0009 0010 #include "elisaLib_export.h" 0011 0012 #include "datatypes.h" 0013 0014 #include <memory> 0015 0016 class QFileInfo; 0017 class QUrl; 0018 class FileScannerPrivate; 0019 0020 class ELISALIB_EXPORT FileScanner 0021 { 0022 public: 0023 0024 FileScanner(); 0025 0026 ~FileScanner(); 0027 0028 bool shouldScanFile(const QString &scanFile); 0029 0030 DataTypes::TrackDataType scanOneFile(const QUrl &scanFile); 0031 0032 DataTypes::TrackDataType scanOneFile(const QUrl &scanFile, const QFileInfo &scanFileInfo); 0033 0034 QUrl searchForCoverFile(const QString &localFileName); 0035 0036 private: 0037 0038 void scanProperties(const QString &localFileName, DataTypes::TrackDataType &trackData); 0039 0040 bool checkEmbeddedCoverImage(const QString &localFileName); 0041 0042 std::unique_ptr<FileScannerPrivate> d; 0043 0044 }; 0045 0046 #endif // FILESCANNER_H