C
<platform/messagequeue.h> - Queue abstraction
プラットフォーム固有のキューに対する抽象化機能を提供します。詳細...
| Header: | #include <platform/messagequeue.h> |
型
(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 | タイムアウトms 内にキューからメッセージを取得できませんでした。 |
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 ライセンスの下で利用可能です。
詳細はこちらをご覧ください。