Commit badb651b authored by David Reid's avatar David Reid

Add next() and peek() APIs for messages to the resource manager.

This is in preparation for self-managed message handling.
parent 0ae21d04
......@@ -356,6 +356,8 @@ MA_API ma_result ma_resource_manager_data_source_get_looping(ma_resource_manager
/* Message handling. */
MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage);
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage); /* Message will be copied. */
MA_API ma_result ma_resource_manager_next_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage);
MA_API ma_result ma_resource_manager_peek_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage);
/*
......@@ -1256,7 +1258,7 @@ static ma_thread_result MA_THREADCALL ma_resource_manager_resource_thread(void*
ma_result result;
ma_resource_manager_message message;
result = ma_resource_manager_message_queue_next(&pResourceManager->messageQueue, &message);
result = ma_resource_manager_next_message(pResourceManager, &message);
if (result != MA_SUCCESS) {
break;
}
......@@ -3292,13 +3294,31 @@ MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResour
MA_API ma_result ma_resource_manager_post_message(ma_resource_manager* pResourceManager, const ma_resource_manager_message* pMessage)
{
if (pResourceManager == NULL || pMessage == NULL) {
if (pResourceManager == NULL) {
return MA_INVALID_ARGS;
}
return ma_resource_manager_message_queue_post(&pResourceManager->messageQueue, pMessage);
}
MA_API ma_result ma_resource_manager_next_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage)
{
if (pResourceManager == NULL) {
return MA_INVALID_ARGS;
}
return ma_resource_manager_message_queue_next(&pResourceManager, pMessage);
}
MA_API ma_result ma_resource_manager_peek_message(ma_resource_manager* pResourceManager, ma_resource_manager_message* pMessage)
{
if (pResourceManager == NULL) {
return MA_INVALID_ARGS;
}
return ma_resource_manager_message_queue_peek(&pResourceManager, pMessage);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment