Skip to content

AMessageQueue#

Universal thread-safe message (callback) queue implementation.

Header:#include <AUI/Util/AMessageQueue.h>
CMake:aui_link(my_target PUBLIC aui::core)

Detailed Description#

Thread-safe message queue. The implementation supports enqueueing new messages inside the callbacks.

Public Methods#

enqueue#


void AMessageQueue::enqueue(Message message)

Add message to the queue to process in processMessages().

processMessages#


void AMessageQueue::processMessages(Args . . . args)

Process messages submitted by enqueue method.

Examples:

examples/ui/embedded_sdl/src/main.cpp

SDL3 - This code demonstrates how to integrate the AUI Framework with SDL3 to create a window with OpenGL rendering.

        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            handleSDLEvent(&event, window);
        }
        AThread::processMessages();
        /// [EventProcessing]

        /// [Rendering]
        if (window.requiresRedraw()) {
            ARenderContext render_context {