digiKam
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  * Copyright (C) 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option)
15  * any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #ifndef DIGIKAM_PARALLEL_PIPES_H
25 #define DIGIKAM_PARALLEL_PIPES_H
26 
27 // Local includes
28 
29 #include "facepipeline_p.h"
30 
31 namespace Digikam
32 {
33 
34 class Q_DECL_HIDDEN ParallelPipes : public QObject
35 {
36  Q_OBJECT
37 
38 public:
39 
40  explicit ParallelPipes();
41  ~ParallelPipes() override;
42 
43  void schedule();
45  void wait();
46 
47  void add(WorkerObject* const worker);
48  void setPriority(QThread::Priority priority);
49 
50 public:
51 
53 
54 public Q_SLOTS:
55 
56  void process(const FacePipelineExtendedPackage::Ptr& package);
57 
58 Q_SIGNALS:
59 
61 
62 protected:
63 
66 
67 private:
68 
69  // Disable
70  ParallelPipes(QObject*) = delete;
71  ParallelPipes(const ParallelPipes&) = delete;
72  ParallelPipes& operator=(const ParallelPipes&) = delete;
73 };
74 
75 } // namespace Digikam
76 
77 #endif // DIGIKAM_PARALLEL_PIPES_H
QExplicitlySharedDataPointer< FacePipelineExtendedPackage > Ptr
Definition: facepipelinepackage.h:168
Definition: parallelpipes.h:35
int m_currentIndex
Definition: parallelpipes.h:65
QList< WorkerObject * > m_workers
Definition: parallelpipes.h:52
QList< QMetaMethod > m_methods
Definition: parallelpipes.h:64
void processed(FacePipelineExtendedPackage::Ptr package)
Definition: workerobject.h:45
DeactivatingMode
Definition: workerobject.h:59
@ FlushSignals
Already sent signals are cleared.
Definition: workerobject.h:60
Definition: piwigotalker.h:48
Definition: datefolderview.cpp:43