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 ...@@ -356,6 +356,8 @@ MA_API ma_result ma_resource_manager_data_source_get_looping(ma_resource_manager
/* Message handling. */ /* 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_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_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* ...@@ -1256,7 +1258,7 @@ static ma_thread_result MA_THREADCALL ma_resource_manager_resource_thread(void*
ma_result result; ma_result result;
ma_resource_manager_message message; 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) { if (result != MA_SUCCESS) {
break; break;
} }
...@@ -3292,13 +3294,31 @@ MA_API ma_result ma_resource_manager_handle_message(ma_resource_manager* pResour ...@@ -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) 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_INVALID_ARGS;
} }
return ma_resource_manager_message_queue_post(&pResourceManager->messageQueue, pMessage); 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