digiKam
Loading...
Searching...
No Matches
parallelpipes.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 : 2010-09-03
7 * Description : Integrated, multithread face detection / recognition
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Local includes
18
19#include "facepipeline_p.h"
20
21namespace Digikam
22{
23
24class Q_DECL_HIDDEN ParallelPipes : public QObject
25{
26 Q_OBJECT
27
28public:
29
30 ParallelPipes() = default;
31 ~ParallelPipes() override;
32
33 void schedule();
34 void deactivate(WorkerObject::DeactivatingMode mode = WorkerObject::FlushSignals);
35 void wait();
36
37 void add(WorkerObject* const worker);
38 void setPriority(QThread::Priority priority);
39
40public:
41
42 QList<WorkerObject*> m_workers;
43
44public Q_SLOTS:
45
46 void process(const FacePipelineExtendedPackage::Ptr& package);
47
48Q_SIGNALS:
49
51
52protected:
53
54 QList<QMetaMethod> m_methods;
55 int m_currentIndex = 0;
56
57private:
58
59 // Disable
60 ParallelPipes(QObject*) = delete;
61 ParallelPipes(const ParallelPipes&) = delete;
62 ParallelPipes& operator=(const ParallelPipes&) = delete;
63};
64
65} // namespace Digikam
QExplicitlySharedDataPointer< FacePipelineExtendedPackage > Ptr
Definition facepipelinepackage.h:163
Definition parallelpipes.h:25
QList< WorkerObject * > m_workers
Definition parallelpipes.h:42
void processed(const FacePipelineExtendedPackage::Ptr &package)
QList< QMetaMethod > m_methods
Definition parallelpipes.h:54
Definition workerobject.h:35
DeactivatingMode
Definition workerobject.h:49
Definition datefolderview.cpp:34