File indexing completed on 2025-01-19 03:59:30

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2017-02-20
0007  * Description : Synchronized container for maintenance data.
0008  *
0009  * SPDX-FileCopyrightText: 2017-2018 by Mario Frank <mario dot frank at uni minus potsdam dot de>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #ifndef DIGIKAM_MAINTENANCE_DATA_H
0016 #define DIGIKAM_MAINTENANCE_DATA_H
0017 
0018 // Qt includes
0019 
0020 #include <QList>
0021 
0022 // Local includes
0023 
0024 #include "iteminfo.h"
0025 #include "identity.h"
0026 
0027 namespace Digikam
0028 {
0029 
0030 class ImageQualitySettings;
0031 
0032 class MaintenanceData
0033 {
0034 public:
0035 
0036     explicit MaintenanceData();
0037     ~MaintenanceData();
0038 
0039     void      setImageIds(const QList<qlonglong>& ids);
0040     void      setThumbnailIds(const QList<int>& ids);
0041     void      setImagePaths(const QList<QString>& paths);
0042     void      setItemInfos(const QList<ItemInfo>& infos);
0043     void      setIdentities(const QList<Identity>& identities);
0044     void      setSimilarityImageIds(const QList<qlonglong>& ids);
0045 
0046     void      setRebuildAllFingerprints(bool b);
0047 
0048     qlonglong getImageId()                const;
0049     int       getThumbnailId()            const;
0050     QString   getImagePath()              const;
0051     ItemInfo getItemInfo()                const;
0052     Identity  getIdentity()               const;
0053     qlonglong getSimilarityImageId()      const;
0054 
0055     bool      getRebuildAllFingerprints() const;
0056 
0057 private:
0058 
0059     // Disable
0060     MaintenanceData(const MaintenanceData&)            = delete;
0061     MaintenanceData& operator=(const MaintenanceData&) = delete;
0062 
0063 private:
0064 
0065     class Private;
0066     Private* const d;
0067 };
0068 
0069 } // namespace Digikam
0070 
0071 #endif // DIGIKAM_MAINTENANCE_DATA_H