digiKam
Loading...
Searching...
No Matches
itemlisterreceiver.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2007-03-20
7 * Description : Simple virtual interface for ItemLister
8 *
9 * SPDX-FileCopyrightText: 2005 by Renchi Raju <renchi dot raju at gmail dot com>
10 * SPDX-FileCopyrightText: 2007-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
12 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
13 *
14 * SPDX-License-Identifier: GPL-2.0-or-later
15 *
16 * ============================================================ */
17
18#pragma once
19
20// Qt includes
21
22#include <QString>
23#include <QList>
24
25// Local includes
26
27#include "digikam_export.h"
28#include "itemlisterrecord.h"
29#include "dbjob.h"
30
31namespace Digikam
32{
33
34class DIGIKAM_DATABASE_EXPORT ItemListerReceiver
35{
36public:
37
38 ItemListerReceiver() = default;
39 virtual ~ItemListerReceiver() = default;
40
41 virtual void receive(const ItemListerRecord& record) = 0;
42 virtual void error(const QString& /*errMsg*/) {};
43
44private:
45
46 Q_DISABLE_COPY(ItemListerReceiver)
47};
48
49// ------------------------------------------------------------------------------------------------
50
51class DIGIKAM_DATABASE_EXPORT ItemListerValueListReceiver : public ItemListerReceiver
52{
53public:
54
56
57 void receive(const ItemListerRecord& record) override;
58 void error(const QString& errMsg) override;
59
60public:
61
62 QList<ItemListerRecord> records;
63 bool hasError = false;
64
65private:
66
67 Q_DISABLE_COPY(ItemListerValueListReceiver)
68};
69
70// ------------------------------------------------------------------------------------------------
71
72class DIGIKAM_DATABASE_EXPORT ItemListerJobReceiver : public ItemListerValueListReceiver
73{
74public:
75
76 explicit ItemListerJobReceiver(DBJob* const job);
77
78 void error(const QString& errMsg) override;
79 void sendData();
80
81protected:
82
83 DBJob* const m_job = nullptr;
84
85private:
86
87 Q_DISABLE_COPY(ItemListerJobReceiver)
88};
89
90// ------------------------------------------------------------------------------------------------
91
92class DIGIKAM_DATABASE_EXPORT ItemListerJobPartsSendingReceiver : public ItemListerJobReceiver
93{
94public:
95
96 explicit ItemListerJobPartsSendingReceiver(DBJob* const job, int limit);
97
98 void receive(const ItemListerRecord &record) override;
99
100protected:
101
102 int m_limit = 0;
103 int m_count = 0;
104
105private:
106
108};
109
110// ------------------------------------------------------------------------------------------------
111
113{
114public:
115
117 int start,
118 int end,
119 int increment);
120
121 void receive(const ItemListerRecord& record) override;
122
123protected:
124
125 int m_maxLimit = 0;
126 int m_increment = 0;
127
128private:
129
131};
132
133} // namespace Digikam
Definition dbjob.h:31
Definition itemlisterreceiver.h:113
Definition itemlisterreceiver.h:93
Definition itemlisterreceiver.h:73
Definition itemlisterreceiver.h:35
virtual void error(const QString &)
Definition itemlisterreceiver.h:42
virtual void receive(const ItemListerRecord &record)=0
virtual ~ItemListerReceiver()=default
Definition itemlisterrecord.h:38
Definition itemlisterreceiver.h:52
QList< ItemListerRecord > records
Definition itemlisterreceiver.h:62
Definition datefolderview.cpp:34