Provides an interface for representing a dispatch queue and methods that can be called to modify or use the queue. More...
#include <QtDispatch/qdispatchqueue.h>
Public Slots | |
void | suspend () |
Suspends the invocation of operations or blocks assigned to the object. | |
void | resume () |
Resumes the invocation of operations or blocks assigned to the object. | |
Public Member Functions | |
QDispatchQueue (const QString &label) | |
QDispatchQueue (const char *) | |
QDispatchQueue (dispatch_queue_t) | |
QDispatchQueue (const xdispatch::queue &) | |
QDispatchQueue (const QDispatchQueue &) | |
~QDispatchQueue () | |
void | async (QRunnable *) |
Applies the given QRunnable for async execution in this queue and returns immediately. | |
void | apply (QIterationRunnable *, int times) |
Applies the given QRunnable for async execution in this queue and returns immediately. | |
void | after (QRunnable *, const QTime &time) |
Applies the given QRunnable for async execution in this queue after the given time and returns immediately. | |
void | after (QRunnable *, dispatch_time_t time) |
void | after (dispatch_block_t b, const QTime &time) |
Same as after(). | |
void | sync (QRunnable *) |
Applies the given QRunnable for execution int his queue and blocks until the QRunnable was executed. | |
void | setFinalizer (QRunnable *, const xdispatch::queue &=xdispatch::global_queue()) |
Sets the given runnable as finalizer for this queue. | |
void | setFinalizer (xdispatch::operation *, const xdispatch::queue &=xdispatch::global_queue()) |
void | setFinalizer (dispatch_block_t b, const xdispatch::queue &q=xdispatch::global_queue()) |
void | setTarget (const xdispatch::queue &) |
Sets the target queue of this queue, i.e. | |
QDispatchQueue & | operator= (const QDispatchQueue &) |
void | async (operation *) |
Will dispatch the given operation for async execution on the queue and return immediately. | |
void | async (dispatch_block_t b) |
Same as async(operation*). | |
void | apply (iteration_operation *, size_t times) |
Applies the given iteration_operation for async execution in this queue and returns immediately. | |
void | apply (dispatch_iteration_block_t b, size_t times) |
Same as apply(iteration_operation*, size_t times). | |
void | after (operation *, struct tm *time) |
Applies the given operation for async execution in this queue after the given time and returns immediately. | |
void | after (operation *, dispatch_time_t time) |
void | after (dispatch_block_t b, struct tm *time) |
Same as dispatch_after(operation*, time_t). | |
void | after (dispatch_block_t b, dispatch_time_t time) |
void | sync (operation *) |
Applies the given operation for execution in this queue and blocks until the operation was executed. | |
void | sync (dispatch_block_t b) |
Same as dispatch_sync(operation*). | |
void | finalizer (operation *, const queue &=global_queue()) |
Sets the given operation as finalizer for this queue. | |
void | finalizer (dispatch_block_t b, const queue &q=global_queue()) |
Same as set_finalizer(operation*, queue*). | |
const std::string & | label () const |
virtual dispatch_object_t | native () const |
virtual dispatch_queue_t | native_queue () const |
virtual void | target_queue (const queue &) |
Sets the target queue of this object, i.e. | |
bool | operator== (const object &) |
bool | operator== (const dispatch_object_t &) |
bool | operator!= (const object &) |
bool | operator!= (const dispatch_object_t &) |
Provides an interface for representing a dispatch queue and methods that can be called to modify or use the queue.
Read Apple's documentation of libDispatch to understand the concept of tasks and queues.
Definition at line 56 of file qdispatchqueue.h.
QDispatchQueue::QDispatchQueue | ( | const QString & | label | ) |
QDispatchQueue::QDispatchQueue | ( | const char * | ) |
QDispatchQueue::QDispatchQueue | ( | const xdispatch::queue & | ) |
QDispatchQueue::QDispatchQueue | ( | const QDispatchQueue & | ) |
void QDispatchQueue::after | ( | QRunnable * | , |
const QTime & | time | ||
) |
Applies the given QRunnable for async execution in this queue after the given time and returns immediately.
time | The time to wait until the QRunnable is applied to the queue. |
void QDispatchQueue::after | ( | QRunnable * | , |
dispatch_time_t | time | ||
) |
void QDispatchQueue::after | ( | dispatch_block_t | b, |
const QTime & | time | ||
) | [inline] |
Same as after().
Will wrap the given block in a QRunnable and put it on the queue.
Definition at line 101 of file qdispatchqueue.h.
void xdispatch::queue::after | ( | operation * | , |
struct tm * | time | ||
) | [inherited] |
Applies the given operation for async execution in this queue after the given time and returns immediately.
The queue will take possession of the operation and handle the deletion. To change this behaviour, set the auto_delete flag of the operation.
time | The time to wait until the operation is applied to the queue. |
void xdispatch::queue::after | ( | operation * | , |
dispatch_time_t | time | ||
) | [inherited] |
void xdispatch::queue::after | ( | dispatch_block_t | b, |
struct tm * | time | ||
) | [inline, inherited] |
void xdispatch::queue::after | ( | dispatch_block_t | b, |
dispatch_time_t | time | ||
) | [inline, inherited] |
void QDispatchQueue::apply | ( | QIterationRunnable * | , |
int | times | ||
) |
Applies the given QRunnable for async execution in this queue and returns immediately.
In case the autoDelete() flag of the passed QIterationRunnable is set to true it is ensured that the runnable will be deleted after being executed the requested number of times
times | The number of times the QRunnable will be executed |
void xdispatch::queue::apply | ( | iteration_operation * | , |
size_t | times | ||
) | [inherited] |
Applies the given iteration_operation for async execution in this queue and returns immediately.
The operation will be deleted as soon as it was executed the requested number of times. To change this behaviour, set the auto_delete flag of the operation.
times | The number of times the operation will be executed |
void xdispatch::queue::apply | ( | dispatch_iteration_block_t | b, |
size_t | times | ||
) | [inline, inherited] |
Same as apply(iteration_operation*, size_t times).
Will wrap the given block in an operation and put it on the queue.
void QDispatchQueue::async | ( | QRunnable * | ) |
Applies the given QRunnable for async execution in this queue and returns immediately.
void xdispatch::queue::async | ( | operation * | ) | [inherited] |
Will dispatch the given operation for async execution on the queue and return immediately.
The operation will be deleted as soon as it was executed. To change this behaviour, set the auto_delete flag of the operation.
void xdispatch::queue::async | ( | dispatch_block_t | b | ) | [inline, inherited] |
void xdispatch::queue::finalizer | ( | operation * | , |
const queue & | = global_queue() |
||
) | [inherited] |
Sets the given operation as finalizer for this queue.
A finalizer is called before destroying a queue, i.e. if all queue objects representing the queue were deleted and all pending work on a queue was dispatched. The queue will take possession of the operation and handle the deletion. To change this behaviour, set the auto_delete flag of the operation.
When not passing a queue, the finalizer operation will be executed on the queue itself.
void xdispatch::queue::finalizer | ( | dispatch_block_t | b, |
const queue & | q = global_queue() |
||
) | [inline, inherited] |
const std::string& xdispatch::queue::label | ( | ) | const [inherited] |
virtual dispatch_object_t xdispatch::queue::native | ( | ) | const [virtual, inherited] |
Implements xdispatch::object.
virtual dispatch_queue_t xdispatch::queue::native_queue | ( | ) | const [virtual, inherited] |
bool xdispatch::object::operator!= | ( | const object & | ) | [inherited] |
bool xdispatch::object::operator!= | ( | const dispatch_object_t & | ) | [inherited] |
QDispatchQueue& QDispatchQueue::operator= | ( | const QDispatchQueue & | ) |
bool xdispatch::object::operator== | ( | const object & | ) | [inherited] |
bool xdispatch::object::operator== | ( | const dispatch_object_t & | ) | [inherited] |
void QDispatchQueue::resume | ( | ) | [virtual, slot] |
Resumes the invocation of operations or blocks assigned to the object.
Reimplemented from xdispatch::object.
void QDispatchQueue::setFinalizer | ( | QRunnable * | , |
const xdispatch::queue & | = xdispatch::global_queue() |
||
) |
Sets the given runnable as finalizer for this queue.
A finalizer is called before destroying a queue, i.e. if all QDispatchQueue objects representing the queue were deleted and all pending work on a queue was dispatched.
void QDispatchQueue::setFinalizer | ( | xdispatch::operation * | , |
const xdispatch::queue & | = xdispatch::global_queue() |
||
) |
void QDispatchQueue::setFinalizer | ( | dispatch_block_t | b, |
const xdispatch::queue & | q = xdispatch::global_queue() |
||
) | [inline] |
Definition at line 125 of file qdispatchqueue.h.
void QDispatchQueue::setTarget | ( | const xdispatch::queue & | ) |
Sets the target queue of this queue, i.e.
the queue all items of this queue will be dispatched on in turn.
void QDispatchQueue::suspend | ( | ) | [virtual, slot] |
Suspends the invocation of operations or blocks assigned to the object.
The object will be suspended as soon as the currently executed operation or block finished.
Reimplemented from xdispatch::object.
void QDispatchQueue::sync | ( | QRunnable * | ) |
Applies the given QRunnable for execution int his queue and blocks until the QRunnable was executed.
void xdispatch::queue::sync | ( | operation * | ) | [inherited] |
Applies the given operation for execution in this queue and blocks until the operation was executed.
The queue will take possession of the operation and handle the deletion. To change this behaviour, set the auto_delete flag of the operation.
void xdispatch::queue::sync | ( | dispatch_block_t | b | ) | [inline, inherited] |
virtual void xdispatch::object::target_queue | ( | const queue & | ) | [virtual, inherited] |
Sets the target queue of this object, i.e.
the queue all items concerning this object will be dispatched on in turn.
Reimplemented in xdispatch::source.