trikRuntime
|
Designed to support OS threads from a Qt Script. More...
#include <threading.h>
Signals | |
void | finished () |
Signals that all threads have finished. More... | |
void | getVariables (const QString &propertyName) |
Emitted when there is a request for variables values. More... | |
void | variablesReady (const QJsonObject &data) |
Emitted when variables values are ready. More... | |
Public Member Functions | |
Threading (ScriptEngineWorker *scriptWorker, ScriptExecutionControl &scriptControl) | |
Constructs a Threading object with given script worker as a parent. More... | |
~Threading () override | |
void | startMainThread (const QString &script) |
Starts the main thread of a script. More... | |
Q_INVOKABLE void | startThread (const QScriptValue &threadId, const QScriptValue &function) |
Starts a thread with given threadId. More... | |
Q_INVOKABLE void | joinThread (const QString &threadId) |
Joins a thread with given threadId. Does nothing if there is no thread with such id. More... | |
Q_INVOKABLE void | sendMessage (const QString &threadId, const QScriptValue &message) |
Sends message to a mailbox with given threadId, even if such thread does not exist. More... | |
Q_INVOKABLE QScriptValue | receiveMessage (bool waitForMessage=true) |
Designed to be called from a thread receiving a message. More... | |
Q_INVOKABLE void | killThread (const QString &threadId) |
Stops given thread. More... | |
void | waitForAll () |
Wait until all threads finish execution. More... | |
void | waitForAllYielding () |
Wait until all threads finish execution. More... | |
Q_INVOKABLE void | reset () |
Aborts evalutation of all threads, resets to initial state. More... | |
QString | errorMessage () const |
The last error message. More... | |
void | threadFinished (const QString &id) |
Designed to be called from a thread that's finished execution. More... | |
bool | inEventDrivenMode () const |
Returns true if the script is being evaluated in event-driven mode. More... | |
Designed to support OS threads from a Qt Script.
Provides methods for creation and joining threads and for sending messages between threads.
|
explicit |
Constructs a Threading object with given script worker as a parent.
|
override |
QString Threading::errorMessage | ( | ) | const |
The last error message.
|
signal |
Signals that all threads have finished.
|
signal |
Emitted when there is a request for variables values.
propertyName | - name of variables prefix, i.e prefix "web" for variable "web.light" |
bool Threading::inEventDrivenMode | ( | ) | const |
Returns true if the script is being evaluated in event-driven mode.
void Threading::joinThread | ( | const QString & | threadId | ) |
Joins a thread with given threadId. Does nothing if there is no thread with such id.
void Threading::killThread | ( | const QString & | threadId | ) |
Stops given thread.
QScriptValue Threading::receiveMessage | ( | bool | waitForMessage = true | ) |
Designed to be called from a thread receiving a message.
void Threading::reset | ( | ) |
Aborts evalutation of all threads, resets to initial state.
void Threading::sendMessage | ( | const QString & | threadId, |
const QScriptValue & | message | ||
) |
Sends message to a mailbox with given threadId, even if such thread does not exist.
The message can be accessed in the future by any thread with the same threadId.
void Threading::startMainThread | ( | const QString & | script | ) |
Starts the main thread of a script.
void Threading::startThread | ( | const QScriptValue & | threadId, |
const QScriptValue & | function | ||
) |
Starts a thread with given threadId.
function | - a thread routine |
void Threading::threadFinished | ( | const QString & | id | ) |
Designed to be called from a thread that's finished execution.
|
signal |
Emitted when variables values are ready.
json | - JSON container for variables values |
void Threading::waitForAll | ( | ) |
Wait until all threads finish execution.
During this function execution other events can be processed.
void Threading::waitForAllYielding | ( | ) |
Wait until all threads finish execution.
During this function execution other events can not be processed, they will be processed after.