libcamera: base: thread: Make removeMessages() public

Sometimes there is a need to remove pending messages of an object. For example,
when the main purpose of a thread is to carry out work asynchronously using
invoke messages, then there might be a need to stop processing because some
kind of state has changed. This can be done in two main ways: flushing messages
or removing them. This changes enables the second option, which is useful if
the effects of the pending messages are no longer desired.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Barnabás Pőcze
2025-09-26 13:07:07 +02:00
committed by Kieran Bingham
parent 22f6edc686
commit ebe53fdbe6

View File

@@ -50,6 +50,7 @@ public:
void dispatchMessages(Message::Type type = Message::Type::None,
Object *receiver = nullptr);
void removeMessages(Object *receiver);
protected:
int exec();
@@ -64,7 +65,6 @@ private:
void setThreadAffinityInternal();
void postMessage(std::unique_ptr<Message> msg, Object *receiver);
void removeMessages(Object *receiver);
friend class Object;
friend class ThreadData;