Marble
7#include "AbstractWorkerThread.h"
8#include "MarbleDebug.h"
16const int WAIT_ATTEMPTS = 20;
17const int WAIT_TIME = 100;
19class AbstractWorkerThreadPrivate
22 explicit AbstractWorkerThreadPrivate( AbstractWorkerThread *parent )
29 ~AbstractWorkerThreadPrivate()
32 m_parent->
wait( 1000 );
39 AbstractWorkerThread *m_parent;
43AbstractWorkerThread::AbstractWorkerThread(
QObject *parent )
45 d( new AbstractWorkerThreadPrivate( this ) )
49AbstractWorkerThread::~AbstractWorkerThread()
54void AbstractWorkerThread::ensureRunning()
57 if ( !d->m_running ) {
58 if ( wait( 2 * WAIT_TIME ) ) {
65void AbstractWorkerThread::run()
67 int waitAttempts = WAIT_ATTEMPTS;
69 d->m_runningMutex.lock();
70 if ( !workAvailable() ) {
72 if ( !waitAttempts || d->m_end ) {
74 d->m_runningMutex.unlock();
78 d->m_runningMutex.unlock();
83 d->m_runningMutex.unlock();
86 waitAttempts = WAIT_ATTEMPTS;
93#include "moc_AbstractWorkerThread.cpp"
Q_SCRIPTABLE Q_NOREPLY void start()
Binds a QML item to a specific geodetic location in screen coordinates.
bool wait(QDeadlineTimer deadline)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:16 by
doxygen 1.10.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.