digiKam
Digikam::ScanStateFilter Class Reference
+ 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 infosToDispatch ()
 
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 mode, FacePipeline::Private *const d)
 
void setEmitSignals (bool emitThem)
 
void setPriority (QThread::Priority priority)
 
State state () const
 
 ~ScanStateFilter () override
 

Public Attributes

FacePipeline::Private *const d
 
FacePipeline::FilterMode mode
 
FacePipelineFaceTagsIface::Roles tasks
 

Protected Slots

void dispatch ()
 

Protected Member Functions

void run () override
 
bool runningFlag () const volatile
 
void shutDown ()
 
void start (QMutexLocker &locker)
 
void stop (QMutexLocker &locker)
 
QMutex * threadMutex () const
 
void wait (QMutexLocker &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  mode,
FacePipeline::Private *const  d 
)

References dispatch(), and infosToDispatch().

◆ ~ScanStateFilter()

Digikam::ScanStateFilter::~ScanStateFilter ( )
override

Member Function Documentation

◆ dispatch

◆ filter()

◆ finished

◆ infosToDispatch

void Digikam::ScanStateFilter::infosToDispatch ( )
signal

Referenced by run(), and ScanStateFilter().

◆ 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::applyPriority(), and 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().

◆ start [1/2]

◆ start() [2/2]

void Digikam::DynamicThread::start ( QMutexLocker &  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 ( QMutexLocker &  locker)
protectedinherited

◆ threadMutex()

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

◆ wait [1/2]

◆ wait() [2/2]

void Digikam::DynamicThread::wait ( QMutexLocker &  locker)
protectedinherited

Member Data Documentation

◆ d

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

Referenced by dispatch(), and filter().

◆ mode

FacePipeline::FilterMode Digikam::ScanStateFilter::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(), 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: