12#include <libcamera/base/private.h>
48 static std::atomic_uint nextUserType_;
55 std::shared_ptr<BoundMethodPackBase> pack,
57 bool deleteMethod =
false);
65 BoundMethodBase *method_;
66 std::shared_ptr<BoundMethodPackBase> pack_;
Method bind and invocation.
InvokeMessage(BoundMethodBase *method, std::shared_ptr< BoundMethodPackBase > pack, Semaphore *semaphore=nullptr, bool deleteMethod=false)
Construct an InvokeMessage for method invocation on an Object.
Definition message.cpp:127
Semaphore * semaphore() const
Retrieve the message semaphore passed to the constructor.
Definition message.h:60
void invoke()
Invoke the method bound to InvokeMessage::method_ with arguments InvokeMessage::pack_.
Definition message.cpp:151
A message that can be posted to a Thread.
Definition message.h:24
Type
The message type.
Definition message.h:26
@ None
Invalid message type.
Definition message.h:27
@ DeferredDelete
Object is scheduled for deletion.
Definition message.h:30
@ InvokeMessage
Asynchronous method invocation across threads.
Definition message.h:28
@ ThreadMoveMessage
Object is being moved to a different thread.
Definition message.h:29
@ UserMessage
First value available for user-defined messages.
Definition message.h:31
Message(Type type)
Construct a message object of type type.
Definition message.cpp:61
static Type registerMessageType()
Reserve and register a custom user-defined message type.
Definition message.cpp:109
Type type() const
Retrieve the message type.
Definition message.h:37
Object * receiver() const
Retrieve the message receiver.
Definition message.h:38
Base object to support automatic signal disconnection.
Definition object.h:27
General-purpose counting semaphore.
Definition semaphore.h:17
A thread of execution.
Definition thread.h:31
Top-level libcamera namespace.
Definition backtrace.h:17