digiKam
Loading...
Searching...
No Matches
Digikam::ScanStateFilter Class Reference

#include <scanstatefilter.h>

+ Inheritance diagram for Digikam::ScanStateFilter:

Public Types

enum  State { Inactive , Scheduled , Running , Deactivating }
 

Public Slots

void start ()
 
void stop ()
 
void wait ()
 

Signals

void finished ()
 
void signalInfosToDispatch ()
 
void starting ()
 

Public Member Functions

FacePipelineExtendedPackage::Ptr filter (const ItemInfo &info)
 
bool isFinished () const
 
bool isRunning () const
 
QThread::Priority priority () const
 
void process (const ItemInfo &info)
 
void process (const QList< ItemInfo > &infos)
 
 ScanStateFilter (FacePipeline::FilterMode fmode, FacePipeline::Private *const dd)
 
void setEmitSignals (bool emitThem)
 
void setPriority (QThread::Priority priority)
 
State state () const
 
 ~ScanStateFilter () override=default
 

Public Attributes

FacePipeline::Private *const d = nullptr
 
FacePipeline::FilterMode mode = FacePipeline::SkipAlreadyScanned
 
FacePipelineFaceTagsIface::Roles tasks
 

Protected Slots

void dispatch ()
 

Protected Member Functions

void run () override
 
bool runningFlag () const volatile
 
void shutDown ()
 
void start (QMutexLocker< QMutex > &locker)
 
void stop (const QMutexLocker< QMutex > &locker)
 
QMutex * threadMutex () const
 
void wait (QMutexLocker< QMutex > &locker)
 

Protected Attributes

QList< ItemInfotoBeSkipped
 
QList< ItemInfotoFilter
 
QList< FacePipelineExtendedPackage::PtrtoSend
 

Member Enumeration Documentation

◆ State

Enumerator
Inactive 
Scheduled 
Running 
Deactivating 

Constructor & Destructor Documentation

◆ ScanStateFilter()

Digikam::ScanStateFilter::ScanStateFilter ( FacePipeline::FilterMode  fmode,
FacePipeline::Private *const  dd 
)

◆ ~ScanStateFilter()

Digikam::ScanStateFilter::~ScanStateFilter ( )
overridedefault

Member Function Documentation

◆ dispatch

◆ filter()

◆ finished

◆ isFinished()

bool Digikam::DynamicThread::isFinished ( ) const
inherited

◆ isRunning()

◆ priority()

QThread::Priority Digikam::DynamicThread::priority ( ) const
inherited

◆ process() [1/2]

void Digikam::ScanStateFilter::process ( const ItemInfo info)

◆ process() [2/2]

void Digikam::ScanStateFilter::process ( const QList< ItemInfo > &  infos)

◆ run()

void Digikam::ScanStateFilter::run ( )
overrideprotectedvirtual

◆ runningFlag()

bool Digikam::DynamicThread::runningFlag ( ) const volatile
protectedinherited

◆ setEmitSignals()

void Digikam::DynamicThread::setEmitSignals ( bool  emitThem)
inherited

◆ setPriority()

void Digikam::DynamicThread::setPriority ( QThread::Priority  priority)
inherited

Sets the priority for this dynamic thread. Can be set anytime. If the thread is currently not running, the priority will be set when it is run next time. When you set QThread::InheritPriority (default), the priority is not changed but inherited from the thread pool.

References Digikam::DynamicThread::priority().

Referenced by Digikam::FacePipeline::Private::createThumbnailLoadThread().

◆ shutDown()

void Digikam::DynamicThread::shutDown ( )
protectedinherited

If you are deleting data in your destructor which is accessed from the thread, do one of the following from your destructor to guarantee a safe shutdown: 1) Call this method 2) Call stop() and wait(), knowing that nothing will call start() anymore after this 3) Be sure the thread will never be running at destruction. Note: This irrevocably stops this object. Note: It is not sufficient that your parent class does this. Calling this method, or providing one of the above mentioned equivalent guarantees, must be done by every single last class in the hierarchy with an implemented destructor deleting data. (the base class destructor is always called after the derived class)

References Digikam::DynamicThread::stop(), and Digikam::DynamicThread::wait().

Referenced by Digikam::ManagedLoadSaveThread::shutDown(), Digikam::DynamicThread::~DynamicThread(), and Digikam::LoadSaveThread::~LoadSaveThread().

◆ signalInfosToDispatch

void Digikam::ScanStateFilter::signalInfosToDispatch ( )
signal

Referenced by run(), and ScanStateFilter().

◆ start [1/2]

◆ start() [2/2]

void Digikam::DynamicThread::start ( QMutexLocker< QMutex > &  locker)
protectedinherited

Doing the same as start(), stop() and wait above, provide it with a locked QMutexLocker on mutex(). Note the start() will unlock and relock for scheduling once, after state change.

References Digikam::ThreadManager::instance(), and Digikam::ThreadManager::schedule().

◆ starting

void Digikam::DynamicThread::starting ( )
signalinherited

Emitted if emitSignals is enabled

◆ state()

◆ stop [1/2]

◆ stop() [2/2]

void Digikam::DynamicThread::stop ( const QMutexLocker< QMutex > &  locker)
protectedinherited

◆ threadMutex()

QMutex * Digikam::DynamicThread::threadMutex ( ) const
protectedinherited

◆ wait [1/2]

◆ wait() [2/2]

void Digikam::DynamicThread::wait ( QMutexLocker< QMutex > &  locker)
protectedinherited

Member Data Documentation

◆ d

FacePipeline::Private* const Digikam::ScanStateFilter::d = nullptr

Referenced by dispatch(), and filter().

◆ mode

Referenced by filter().

◆ tasks

FacePipelineFaceTagsIface::Roles Digikam::ScanStateFilter::tasks

◆ toBeSkipped

QList<ItemInfo> Digikam::ScanStateFilter::toBeSkipped
protected

Referenced by dispatch(), and run().

◆ toFilter

QList<ItemInfo> Digikam::ScanStateFilter::toFilter
protected

Referenced by process(), process(), and run().

◆ toSend

QList<FacePipelineExtendedPackage::Ptr> Digikam::ScanStateFilter::toSend
protected

Referenced by dispatch(), and run().


The documentation for this class was generated from the following files: