LibCore: Don't require heap-allocated event to hold deferred invocation

Instead of creating a DeferredInvocationEvent every time we
deferred_invoke, we now let the QueuedEvent store the invokee Function
object directly.
This commit is contained in:
Andreas Kling 2025-12-03 11:53:04 +01:00 committed by Andreas Kling
parent 69515f8c85
commit 2a1c5dc108
Notes: github-actions[bot] 2025-12-03 12:27:45 +00:00
6 changed files with 28 additions and 17 deletions

View file

@ -29,6 +29,9 @@ public:
void post_event(EventReceiver*, NonnullOwnPtr<Event>);
void post_event(EventReceiver*, Core::Event::Type);
// Post a deferred invocation to the event queue.
void deferred_invoke(Function<void()>&&);
// Used by Threading::BackgroundAction.
void add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>>);
void cancel_all_pending_jobs();