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 ライセンスの下で利用可能です。
詳細はこちらをご覧ください。