C
<platform/messagequeue.h> - Queue abstraction
プラットフォーム固有のキューの抽象化を提供します。詳細...
| Header: | #include <platform/messagequeue.h> |
はQt Quick Ultralite Platform API の一部です。
型
(since Qt Quick Ultralite (Platform) 1.9) enum class | MessageQueueStatus { Success, MessageDiscarded, MessageOverwritten, EmptyQueue, Timeout, …, OtherError } |
関数
(since Qt Quick Ultralite (Platform) 1.9) void | deleteQueue(Qul::Platform::MessageQueueInterface *queue) |
(since Qt Quick Ultralite (Platform) 1.9) std::size_t | maximumQueueMessageSize() |
(since Qt Quick Ultralite (Platform) 1.9) Qul::Platform::MessageQueueInterface * | requestQueue(std::size_t queueCapacity, std::size_t messageSize) |
詳細説明
このヘッダーには、Qt Quick Ultralite Coreライブラリで処理されるEventQueues で使用されるすべてのキューインターフェースの抽象化が含まれています。
クラス
キュー実装とのインタフェースに使用される便宜クラス | |
Qt Quick Ultraliteにプラットフォーム固有のキューを提供するインタフェースクラス。 |
型ドキュメント
[since Qt Quick Ultralite (Platform) 1.9] enum class MessageQueueStatus
MessageQueueInterface 関数によって返されるステータスコード。
| 定数 | 値 | 説明 |
|---|---|---|
MessageQueueStatus::Success | 0 | 関数は正常に実行されました。 |
MessageQueueStatus::MessageDiscarded | 1 | メッセージは破棄されました。これは、MessageQueueInterface::enqueueOrDiscard() および MessageQueueInterface::enqueueOrDiscardFromInterrupt() 関数が、指定されたメッセージを破棄した場合にのみ返さなければなりません。 |
MessageQueueStatus::MessageOverwritten | 2 | キュー内のメッセージが指定されたメッセージで上書きされました。これは、MessageQueueInterface::enqueueOrOverwrite() および MessageQueueInterface::enqueueOrOverwriteFromInterrupt() 関数のみが返す必要があります。 |
MessageQueueStatus::EmptyQueue | 3 | MessageQueueInterface::receive() または MessageQueueInterface::receiveFromInterrupt() は、キューが空のため、キューからメッセージを取得できませんでした。 |
MessageQueueStatus::Timeout | 4 | タイムアウト時間内にキューからメッセージを取得できませんでした。 |
MessageQueueStatus::DiscardNotSupported | 5 | キューの実装が破棄をサポートしていません。 |
MessageQueueStatus::OverwriteNotSupported | 6 | キューの実装が上書きをサポートしていない。 |
MessageQueueStatus::OtherError | 7 | EventQueue はこれをエラーとして扱う。 |
この列挙型はQt Quick Ultralite (Platform) 1.9で導入されました。
関数ドキュメント
[since Qt Quick Ultralite (Platform) 1.9] void deleteQueue(Qul::Platform::MessageQueueInterface *queue)
queue を削除する。
この関数は、MessageQueue 、不要になったキューを削除するために使用される。
この関数の実装例を示します:
void deleteQueue(MessageQueueInterface *queue) { MyMessageQueue *mq = static_cast<MyMessageQueue *>(queue); mq->~MyMessageQueue(); qul_free(mq); }
この関数はQt Quick Ultralite (Platform) 1.9 で導入されました。
requestQueue()、maximumQueueMessageSize()、Qul::Platform::MessageQueue 、およびQul::Platform::MessageQueueInterfaceも参照してください 。
[since Qt Quick Ultralite (Platform) 1.9] std::size_t maximumQueueMessageSize()
キューが保持できるメッセージの最大サイズを返します。キューの最大メッセージサイズが不明な場合や任意の場合は、SIZE_MAX を返さなければなりません。
この関数はQt Quick Ultralite (Platform) 1.9で導入されました。
requestQueue()、Qul::Platform::MessageQueue 、およびQul::Platform::MessageQueueInterfaceも参照のこと 。
[since Qt Quick Ultralite (Platform) 1.9] Qul::Platform::MessageQueueInterface *requestQueue(std::size_t queueCapacity, std::size_t messageSize)
queueCapacity の容量を持つMessageQueueInterface 実装のインスタンスを返す。キューはmessageSize の要件を満たすメッセージを受け入れなければならない。実装がqueueCapacity またはmessageSize を満たすことができない場合、この関数は null ポインタを返さなければならない。
この関数は、MessageQueue によって、適切なキューを取得するために使用されます。
以下は、この関数の実装例である:
MessageQueueInterface *requestQueue(size_t queueCapacity, size_t messageSize) { void *queue = qul_malloc(sizeof(MyMessageQueue)); if (queue == NULL) { return NULL; } MessageQueueInterface *interface = new (queue) MyMessageQueue(queueCapacity, messageSize); return interface; }
この関数はQt Quick Ultralite (Platform) 1.9で導入された。
deleteQueue()、maximumQueueMessageSize()、Qul::Platform::MessageQueue 、Qul::Platform::MessageQueueInterfaceも参照してください 。
特定の Qt ライセンスの下で利用可能です。
詳細をご覧ください。