File indexing completed on 2024-05-05 04:33:15

0001 /*
0002     SPDX-FileCopyrightText: 2004-2018 Gilles Caulier <caulier dot gilles at gmail dot com>
0003     SPDX-FileCopyrightText: 2004-2005 Renchi Raju <renchi dot raju at gmail dot com>
0004     SPDX-FileCopyrightText: 2004-2005 Jesper K. Pedersen <blackie at kde dot org>
0005     SPDX-FileCopyrightText: 2004-2005 Aurelien Gateau <aurelien dot gateau at free dot fr>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef KIPI_IMAGECOLLECTIONSHARED_H
0011 #define KIPI_IMAGECOLLECTIONSHARED_H
0012 
0013 // Qt Includes.
0014 
0015 #include <QString>
0016 #include <QDateTime>
0017 #include <QUrl>
0018 
0019 // Local includes
0020 
0021 #include "libkipi_export.h"
0022 
0023 namespace KIPI
0024 {
0025 
0026 /**
0027  * @class ImageCollectionShared imagecollectionshared.h <KIPI/ImageCollectionShared>
0028  *
0029  * See ImageCollection documentation for details.
0030  */
0031 class LIBKIPI_EXPORT ImageCollectionShared
0032 {
0033 
0034 public:
0035 
0036     ImageCollectionShared();
0037     virtual ~ImageCollectionShared();
0038 
0039     /** These methods must be re-implemented in your KIPI host application to manage collection attributes with plugins.
0040      */
0041     virtual QList<QUrl> images() = 0;
0042     virtual QString     name() = 0;
0043 
0044     virtual QString     comment();
0045     virtual QString     category();
0046     virtual QDate       date();
0047     virtual QUrl        url();
0048     virtual QUrl        uploadUrl();
0049     virtual QUrl        uploadRootUrl();
0050     virtual QString     uploadRootName();
0051     virtual bool        isDirectory();
0052 
0053     virtual bool operator==(ImageCollectionShared&);
0054 
0055 private:
0056 
0057     void addRef();
0058     void removeRef();
0059 
0060 private:
0061 
0062     int m_count;
0063 
0064 private:
0065 
0066     friend class ImageCollection;
0067 };
0068 
0069 } // namespace KIPI
0070 
0071 #endif /* IMAGECOLLECTIONSHARED_H */