LibCore: Remove ability to post heap-allocated Core::Event objects

We no longer need this API since all clients have been converted to
simply posting the Core::Event::Type (or a callback function).
This commit is contained in:
Andreas Kling
2025-12-03 12:00:22 +01:00
committed by Andreas Kling
parent 2a1c5dc108
commit cebc4d00dd
Notes: github-actions[bot] 2025-12-03 12:27:38 +00:00
14 changed files with 1 additions and 69 deletions

View File

@@ -102,11 +102,6 @@ size_t EventLoop::pump(WaitMode mode)
return m_impl->pump(mode == WaitMode::WaitForEvents ? EventLoopImplementation::PumpMode::WaitForEvents : EventLoopImplementation::PumpMode::DontWaitForEvents); return m_impl->pump(mode == WaitMode::WaitForEvents ? EventLoopImplementation::PumpMode::WaitForEvents : EventLoopImplementation::PumpMode::DontWaitForEvents);
} }
void EventLoop::post_event(EventReceiver& receiver, NonnullOwnPtr<Event>&& event)
{
m_impl->post_event(&receiver, move(event));
}
void EventLoop::add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise) void EventLoop::add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise)
{ {
ThreadEventQueue::current().add_job(move(job_promise)); ThreadEventQueue::current().add_job(move(job_promise));

View File

@@ -67,9 +67,6 @@ public:
// Pump the event loop until some condition is met. // Pump the event loop until some condition is met.
void spin_until(Function<bool()>); void spin_until(Function<bool()>);
// Post an event to this event loop.
void post_event(EventReceiver& receiver, NonnullOwnPtr<Event>&&);
void add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise); void add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise);
void deferred_invoke(ESCAPING Function<void()>); void deferred_invoke(ESCAPING Function<void()>);

View File

@@ -54,8 +54,6 @@ public:
virtual void wake() = 0; virtual void wake() = 0;
virtual bool was_exit_requested() const = 0; virtual bool was_exit_requested() const = 0;
virtual void post_event(EventReceiver*, NonnullOwnPtr<Event>&&) = 0;
virtual void deferred_invoke(Function<void()>&&); virtual void deferred_invoke(Function<void()>&&);
protected: protected:

View File

@@ -314,13 +314,6 @@ void EventLoopImplementationUnix::quit(int code)
m_exit_code = code; m_exit_code = code;
} }
void EventLoopImplementationUnix::post_event(EventReceiver* receiver, NonnullOwnPtr<Event>&& event)
{
m_thread_event_queue.post_event(receiver, move(event));
if (&m_thread_event_queue != &ThreadEventQueue::current())
wake();
}
void EventLoopImplementationUnix::wake() void EventLoopImplementationUnix::wake()
{ {
int wake_event = 0; int wake_event = 0;

View File

@@ -51,8 +51,6 @@ public:
virtual void wake() override; virtual void wake() override;
virtual void post_event(EventReceiver*, NonnullOwnPtr<Event>&&) override;
private: private:
bool m_exit_requested { false }; bool m_exit_requested { false };
int m_exit_code { 0 }; int m_exit_code { 0 };

View File

@@ -232,13 +232,6 @@ void EventLoopImplementationWindows::quit(int code)
m_exit_code = code; m_exit_code = code;
} }
void EventLoopImplementationWindows::post_event(EventReceiver* receiver, NonnullOwnPtr<Event>&& event)
{
m_thread_event_queue.post_event(receiver, move(event));
if (&m_thread_event_queue != &ThreadEventQueue::current())
wake();
}
void EventLoopImplementationWindows::wake() void EventLoopImplementationWindows::wake()
{ {
SetEvent(m_wake_event); SetEvent(m_wake_event);

View File

@@ -42,8 +42,6 @@ public:
virtual void wake() override; virtual void wake() override;
virtual bool was_exit_requested() const override { return m_exit_requested; } virtual bool was_exit_requested() const override { return m_exit_requested; }
virtual void post_event(EventReceiver*, NonnullOwnPtr<Event>&&) override;
private: private:
bool m_exit_requested { false }; bool m_exit_requested { false };
int m_exit_code { 0 }; int m_exit_code { 0 };

View File

@@ -21,13 +21,6 @@ struct ThreadEventQueue::Private {
AK_MAKE_DEFAULT_MOVABLE(QueuedEvent); AK_MAKE_DEFAULT_MOVABLE(QueuedEvent);
public: public:
QueuedEvent(RefPtr<EventReceiver> const& receiver, NonnullOwnPtr<Event> event)
: receiver(receiver)
, event(move(event))
, event_type(this->event->type())
{
}
QueuedEvent(RefPtr<EventReceiver> const& receiver, Event::Type event_type) QueuedEvent(RefPtr<EventReceiver> const& receiver, Event::Type event_type)
: receiver(receiver) : receiver(receiver)
, event_type(event_type) , event_type(event_type)
@@ -43,7 +36,6 @@ struct ThreadEventQueue::Private {
~QueuedEvent() = default; ~QueuedEvent() = default;
WeakPtr<EventReceiver> receiver; WeakPtr<EventReceiver> receiver;
OwnPtr<Event> event;
Function<void()> m_invokee; Function<void()> m_invokee;
u8 event_type { Event::Type::Invalid }; u8 event_type { Event::Type::Invalid };
}; };
@@ -81,15 +73,6 @@ ThreadEventQueue::ThreadEventQueue()
ThreadEventQueue::~ThreadEventQueue() = default; ThreadEventQueue::~ThreadEventQueue() = default;
void ThreadEventQueue::post_event(Core::EventReceiver* receiver, NonnullOwnPtr<Core::Event> event)
{
{
Threading::MutexLocker lock(m_private->mutex);
m_private->queued_events.empend(receiver, move(event));
}
Core::EventLoopManager::the().did_post_event();
}
void ThreadEventQueue::post_event(Core::EventReceiver* receiver, Core::Event::Type event_type) void ThreadEventQueue::post_event(Core::EventReceiver* receiver, Core::Event::Type event_type)
{ {
{ {
@@ -147,8 +130,7 @@ size_t ThreadEventQueue::process()
break; break;
} }
default: default:
receiver->dispatch_event(*queued_event.event); VERIFY_NOT_REACHED();
break;
} }
} else { } else {
if (queued_event.event_type == Event::Type::DeferredInvoke) { if (queued_event.event_type == Event::Type::DeferredInvoke) {

View File

@@ -26,7 +26,6 @@ public:
size_t process(); size_t process();
// Posts an event to the event queue. // Posts an event to the event queue.
void post_event(EventReceiver*, NonnullOwnPtr<Event>);
void post_event(EventReceiver*, Core::Event::Type); void post_event(EventReceiver*, Core::Event::Type);
// Post a deferred invocation to the event queue. // Post a deferred invocation to the event queue.

View File

@@ -41,7 +41,6 @@ public:
virtual void quit(int) override; virtual void quit(int) override;
virtual void wake() override; virtual void wake() override;
virtual bool was_exit_requested() const override; virtual bool was_exit_requested() const override;
virtual void post_event(Core::EventReceiver*, NonnullOwnPtr<Core::Event>&&) override;
virtual ~EventLoopImplementationMacOS() override; virtual ~EventLoopImplementationMacOS() override;

View File

@@ -485,14 +485,4 @@ bool EventLoopImplementationMacOS::was_exit_requested() const
return ![NSApp isRunning]; return ![NSApp isRunning];
} }
void EventLoopImplementationMacOS::post_event(Core::EventReceiver* receiver, NonnullOwnPtr<Core::Event>&& event)
{
m_thread_event_queue.post_event(receiver, move(event));
bool expected = false;
if (m_impl->deferred_source && m_impl->deferred_source_pending.compare_exchange_strong(expected, true)) {
CFRunLoopSourceSignal(m_impl->deferred_source);
}
}
} }

View File

@@ -252,13 +252,6 @@ bool EventLoopImplementationQt::was_exit_requested() const
return !m_event_loop->isRunning(); return !m_event_loop->isRunning();
} }
void EventLoopImplementationQt::post_event(Core::EventReceiver* receiver, NonnullOwnPtr<Core::Event>&& event)
{
m_thread_event_queue.post_event(receiver, move(event));
if (&m_thread_event_queue != &Core::ThreadEventQueue::current())
wake();
}
void EventLoopImplementationQt::set_main_loop() void EventLoopImplementationQt::set_main_loop()
{ {
m_main_loop = true; m_main_loop = true;

View File

@@ -59,8 +59,6 @@ public:
virtual void wake() override; virtual void wake() override;
virtual bool was_exit_requested() const override; virtual bool was_exit_requested() const override;
virtual void post_event(Core::EventReceiver*, NonnullOwnPtr<Core::Event>&&) override;
void set_main_loop(); void set_main_loop();
private: private:

View File

@@ -69,7 +69,6 @@ public:
virtual size_t pump(PumpMode) override; virtual size_t pump(PumpMode) override;
virtual void quit(int) override; virtual void quit(int) override;
virtual void wake() override; virtual void wake() override;
virtual void post_event(Core::EventReceiver& receiver, NonnullOwnPtr<Core::Event>&&) override;
virtual bool was_exit_requested() const override { return false; } virtual bool was_exit_requested() const override { return false; }