WARNING: USE THIS SOFTWARE AT YOUR OWN RISK! THIS IS EXPERIMENTAL SOFTWARE NOT INTENDED FOR PRODUCTION USE! Zuble is currently an early stage prototype. As such Zuble is minimally tested and inherently unstable. It is provided for experimental, development, and demonstration purposes only. | Zuble QML Types | Zuble C++ Classes | Zuble Overview |
Zuble
0.1
Zuble Framework C++/QML extension API
|
A message queue that decouples sending and processing of messages. More...
#include <ZMessageQueue.h>
Public Types | |
typedef QQueue< QVariant > | zMsgQueue |
Public Slots | |
void | sendMessage (QVariant message) |
Enqueues message and then sends messageAvailable signal immediately. More... | |
void | queueMessage (QVariant message) |
Enqueues message immediately, then queues a defered messageAvailable signal to be sent later. More... | |
QVariant | dequeueMessage () |
Removes next message from message queue and returns it. More... | |
QVariant | peekMessage () |
Returns the next message from message queue without removing it from the queue. More... | |
Signals | |
void | messageAvailable () |
Sent when a message has been placed into the message queue. More... | |
Public Member Functions | |
ZMessageQueue (QObject *parent=0) | |
int | getCount () |
Q_INVOKABLE bool | isEmpty () |
Returns true if message queue is empty, false if one or more messages are in the queue. More... | |
Static Public Member Functions | |
static void | registerType () |
Registers ZMessageQueue as a QML type. More... | |
Protected Member Functions | |
Q_INVOKABLE void | sendAvailableSignal () |
Protected Attributes | |
zMsgQueue | m_q |
The message queue. More... | |
Properties | |
int | count |
Returns the number of messages in the queue. More... | |
A message queue that decouples sending and processing of messages.
The message receiver is (optionally) notified of pending messages on a subsequent QObject event dispatch. This allows the sender to return from queueing the message before the receiver processes it.
Call queueMessage() to queue a message for deferred notification to the receiver. Call sendMessage() to queue a message for immediate notification to the receiver.
ZMessageQueue is reentrant but not thread safe. The enpoints must both have the same thread affinity (ie. be in the same thread).
Definition at line 54 of file ZMessageQueue.h.
typedef QQueue<QVariant> Zbl::ZMessageQueue::zMsgQueue |
Definition at line 60 of file ZMessageQueue.h.
|
explicit |
Definition at line 31 of file ZMessageQueue.cpp.
|
slot |
Removes next message from message queue and returns it.
Definition at line 59 of file ZMessageQueue.cpp.
Referenced by Zbl::ZMailslot::getMessage(), and Zbl::ZMailslot::getResponse().
int Zbl::ZMessageQueue::getCount | ( | ) |
Definition at line 80 of file ZMessageQueue.cpp.
Referenced by Zbl::ZMailslot::messageCount(), and Zbl::ZMailslot::responseCount().
bool Zbl::ZMessageQueue::isEmpty | ( | ) |
Returns true if message queue is empty, false if one or more messages are in the queue.
Definition at line 85 of file ZMessageQueue.cpp.
|
signal |
Sent when a message has been placed into the message queue.
Referenced by sendAvailableSignal(), and Zbl::ZMailslot::ZMailslot().
|
slot |
Returns the next message from message queue without removing it from the queue.
Definition at line 67 of file ZMessageQueue.cpp.
Referenced by Zbl::ZMailslot::peekMessage(), and Zbl::ZMailslot::peekResponse().
|
slot |
Enqueues message immediately, then queues a defered messageAvailable signal to be sent later.
message | A user-defined value to be placed on the message queue |
Definition at line 51 of file ZMessageQueue.cpp.
Referenced by Zbl::ZMailslot::postMessage(), and Zbl::ZMailslot::postResponse().
|
static |
Registers ZMessageQueue as a QML type.
Definition at line 36 of file ZMessageQueue.cpp.
Referenced by Zbl::Zblcore::registerTypes().
|
protected |
Definition at line 75 of file ZMessageQueue.cpp.
Referenced by sendMessage().
|
slot |
Enqueues message and then sends messageAvailable signal immediately.
message | A user-defined value to be placed on the message queue |
Definition at line 43 of file ZMessageQueue.cpp.
Referenced by Zbl::ZMailslot::sendMessage(), and Zbl::ZMailslot::sendResponse().
|
protected |
The message queue.
Definition at line 134 of file ZMessageQueue.h.
Referenced by dequeueMessage(), getCount(), isEmpty(), peekMessage(), queueMessage(), and sendMessage().
|
read |
Returns the number of messages in the queue.
Definition at line 71 of file ZMessageQueue.h.
Zuble documentation copyright © 2019 Bob Dinitto. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Zuble is a derivative work of Qt version 5. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.