digiKam
Loading...
Searching...
No Matches
iojob.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 : 2015-06-15
7 * Description : IO Jobs for file systems jobs
8 *
9 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
10 * SPDX-FileCopyrightText: 2018 by Maik Qualmann <metzpinguin at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QUrl>
21
22// Local includes
23
24#include "actionthreadbase.h"
25#include "digikam_export.h"
26#include "iojobdata.h"
27
28namespace Digikam
29{
30
31class ItemInfo;
32
33class DIGIKAM_GUI_EXPORT IOJob : public ActionJob
34{
35 Q_OBJECT
36
37protected:
38
39 IOJob() = default;
40
41Q_SIGNALS:
42
43 void signalError(const QString& errMsg);
44 void signalOneProccessed(const QUrl& url);
45
46private:
47
48 // Disable
49 explicit IOJob(QObject*);
50};
51
52// ---------------------------------------
53
54class DIGIKAM_GUI_EXPORT CopyOrMoveJob : public IOJob
55{
56 Q_OBJECT
57
58public:
59
60 explicit CopyOrMoveJob(IOJobData* const data);
61
62protected:
63
64 void run() override;
65
66private:
67
68 // Disable
69 CopyOrMoveJob(QObject*);
70
71private:
72
73 IOJobData* m_data = nullptr;
74};
75
76// ---------------------------------------
77
78class DIGIKAM_GUI_EXPORT DeleteJob : public IOJob
79{
80 Q_OBJECT
81
82public:
83
84 explicit DeleteJob(IOJobData* const data);
85
86protected:
87
88 void run() override;
89
90private:
91
92 // Disable
93 DeleteJob(QObject*);
94
95private:
96
97 IOJobData* m_data = nullptr;
98};
99
100// ---------------------------------------
101
102class DIGIKAM_GUI_EXPORT RenameFileJob : public IOJob
103{
104 Q_OBJECT
105
106public:
107
108 explicit RenameFileJob(IOJobData* const data);
109
110Q_SIGNALS:
111
112 void signalRenameFailed(const QUrl& url);
113
114protected:
115
116 void run() override;
117
118private:
119
120 // Disable
121 RenameFileJob(QObject*);
122
123private:
124
125 IOJobData* m_data = nullptr;
126};
127
128// ----------------------------------------------
129
130class DIGIKAM_GUI_EXPORT DTrashItemsListingJob : public IOJob
131{
132 Q_OBJECT
133
134public:
135
136 explicit DTrashItemsListingJob(const QString& collectionPath);
137
138Q_SIGNALS:
139
140 void trashItemInfo(const DTrashItemInfo& info);
141
142protected:
143
144 void run() override;
145
146private:
147
148 // Disable
149 DTrashItemsListingJob(QObject*);
150
151private:
152
153 QString m_collectionPath;
154};
155
156// ----------------------------------------------
157
158class DIGIKAM_GUI_EXPORT RestoreDTrashItemsJob : public IOJob
159{
160 Q_OBJECT
161
162public:
163
164 explicit RestoreDTrashItemsJob(IOJobData* const data);
165
166protected:
167
168 void run() override;
169
170private:
171
172 // Disable
173 RestoreDTrashItemsJob(QObject*);
174
175private:
176
177 IOJobData* m_data = nullptr;
178};
179
180// ----------------------------------------------
181
182class DIGIKAM_GUI_EXPORT EmptyDTrashItemsJob : public IOJob
183{
184 Q_OBJECT
185
186public:
187
188 explicit EmptyDTrashItemsJob(IOJobData* const data);
189
190protected:
191
192 void run() override;
193
194private:
195
196 // Disable
197 EmptyDTrashItemsJob(QObject*);
198
199private:
200
201 IOJobData* m_data = nullptr;
202};
203
204// ----------------------------------------------
205
206class DIGIKAM_GUI_EXPORT BuildTrashCountersJob : public IOJob
207{
208 Q_OBJECT
209
210public:
211
212 explicit BuildTrashCountersJob();
213
214Q_SIGNALS:
215
216 void signalTrashCountersMap(const QMap<QString, int>& counterMap);
217
218protected:
219
220 void run() override;
221
222private:
223
224 // Disable
225 BuildTrashCountersJob(QObject*);
226};
227
228} // namespace Digikam
Definition actionthreadbase.h:36
Definition iojob.h:207
void signalTrashCountersMap(const QMap< QString, int > &counterMap)
Definition iojob.h:55
Definition dtrashiteminfo.h:26
Definition iojob.h:131
void trashItemInfo(const DTrashItemInfo &info)
Definition iojob.h:79
Definition iojob.h:183
Definition iojobdata.h:35
Definition iojob.h:34
IOJob()=default
void signalError(const QString &errMsg)
void signalOneProccessed(const QUrl &url)
Definition iojob.h:103
void signalRenameFailed(const QUrl &url)
Definition iojob.h:159
Definition datefolderview.cpp:34