digiKam Developer Documentation: Digikam::ParallelAdapter< A > Class Template Reference

| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
Digikam::ParallelAdapter< A > Class Template Reference
Inheritance diagram for Digikam::ParallelAdapter< A >:

## Public Member Functions
| ParallelAdapter ()=default
| Instead of using a single WorkerObject, create a ParallelAdapter for your worker object subclass, and add() individual WorkerObjects.
void | add (A *const worker)
QObject * | asQObject () override
bool | connect (const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type=Qt::AutoConnection) const override
| Connects signals outbound from all workers to a given receiver.
void | deactivate (WorkerObject::DeactivatingMode mode=WorkerObject::FlushSignals) override
const QMetaObject * | metaObject () const override
const QMetaObject * | mocMetaObject () const override
| The moc-generated metaObject of the target object.
int | qt_metacall (QMetaObject::Call _c, int _id, void **_a) override
void | schedule () override
| The corresponding methods of all added worker objects will be called.
StaticMetacallFunction | staticMetacallPointer () override
void | wait () override
int | WorkerObjectQtMetacall (QMetaObject::Call _c, int _id, void **_a) override
| The qt_metacall of WorkerObject, one level above the target QObject.
Public Member Functions inherited from Digikam::ParallelWorkers
| ParallelWorkers ()=default
| ParallelWorkers is a helper class to distribute work over several identical workers objects.
bool | optimalWorkerCountReached () const
void | setPriority (QThread::Priority priority)

## Static Public Member Functions
static void | qt_static_metacall (QObject *o, QMetaObject::Call _c, int _id, void **_a)
Static Public Member Functions inherited from Digikam::ParallelWorkers
static int | optimalWorkerCount ()
| Regarding the number of logical CPUs on the current machine, returns the optimal count of concurrent workers.

## Additional Inherited Members
Protected Types inherited from Digikam::ParallelWorkers
typedef void(* | StaticMetacallFunction) (QObject *, QMetaObject::Call, int, void **)
Protected Member Functions inherited from Digikam::ParallelWorkers
void | add (WorkerObject *const worker)
const QMetaObject * | replacementMetaObject () const
int | replacementQtMetacall (QMetaObject::Call _c, int _id, void **_a)
| Replaces slot call distribution of the target QObject.
int | replacementStaticQtMetacall (QMetaObject::Call _c, int _id, void **_a)
Protected Attributes inherited from Digikam::ParallelWorkers
int | m_currentIndex = 0
StaticMetacallFunction | m_originalStaticMetacall = nullptr
QMetaObject * | m_replacementMetaObject = nullptr
QList< WorkerObject * > | m_workers

## Constructor & Destructor Documentation

## ◆ ParallelAdapter()

template<class A >

Digikam::ParallelAdapter< A >::ParallelAdapter | ( |  | ) |
| default

The load will be evenly distributed.

Note
  Unlike with WorkerObject directly, there is no need to call schedule(). For inbound connections (signals connected to a WorkerObject's slot, to be processed, use a Qt::DirectConnection on the adapter. For outbound connections (signals emitted from the WorkerObject), use ParallelAdapter's connect to have a connection from all added WorkerObjects.

## Member Function Documentation

## ◆ asQObject()

template<class A >

QObject * Digikam::ParallelAdapter< A >::asQObject | ( |  | ) |
| inlineoverridevirtual

Returns
  the target QObject (double inheritance)

Implements Digikam::ParallelWorkers.

## ◆ connect()

template<class A >

bool Digikam::ParallelAdapter< A >::connect | ( | const char * | signal,
|  | const QObject * | receiver,
|  | const char * | method,
|  | Qt::ConnectionType | type = `Qt::AutoConnection`
| ) |  | const
| inlineoverridevirtual

Reimplemented from Digikam::ParallelWorkers.

## ◆ deactivate()

template<class A >

void Digikam::ParallelAdapter< A >::deactivate | ( | WorkerObject::DeactivatingMode | mode = `WorkerObject::FlushSignals` | ) |
| inlineoverridevirtual

Reimplemented from Digikam::ParallelWorkers.

## ◆ mocMetaObject()

template<class A >

const QMetaObject * Digikam::ParallelAdapter< A >::mocMetaObject | ( |  | ) | const
| inlineoverridevirtual

Implements Digikam::ParallelWorkers.

## ◆ schedule()

template<class A >

void Digikam::ParallelAdapter< A >::schedule | ( |  | ) |
| inlineoverridevirtual

Reimplemented from Digikam::ParallelWorkers.

## ◆ staticMetacallPointer()

template<class A >

StaticMetacallFunction Digikam::ParallelAdapter< A >::staticMetacallPointer | ( |  | ) |
| inlineoverridevirtual

Implements Digikam::ParallelWorkers.

## ◆ wait()

template<class A >

void Digikam::ParallelAdapter< A >::wait | ( |  | ) |
| inlineoverridevirtual

Reimplemented from Digikam::ParallelWorkers.

## ◆ WorkerObjectQtMetacall()

template<class A >

int Digikam::ParallelAdapter< A >::WorkerObjectQtMetacall | ( | QMetaObject::Call | _c,
|  | int | _id,
|  | void ** | _a
| ) |  |
| inlineoverridevirtual

Implements Digikam::ParallelWorkers.