7 #ifndef __LIBCAMERA_INTERNAL_MESSAGE_H__
8 #define __LIBCAMERA_INTERNAL_MESSAGE_H__
16 class BoundMethodBase;
45 static std::atomic_uint nextUserType_;
52 std::shared_ptr<BoundMethodPackBase> pack,
54 bool deleteMethod =
false);
62 BoundMethodBase *method_;
63 std::shared_ptr<BoundMethodPackBase> pack_;
Method bind and invocation.
A message carrying a method invocation across threads.
Definition: message.h:49
Semaphore * semaphore() const
Retrieve the message semaphore passed to the constructor.
Definition: message.h:57
void invoke()
Invoke the method bound to InvokeMessage::method_ with arguments InvokeMessage::pack_.
Definition: message.cpp:150
A message that can be posted to a Thread.
Definition: message.h:22
Object * receiver() const
Retrieve the message receiver.
Definition: message.h:35
Type type() const
Retrieve the message type.
Definition: message.h:34
Type
The message type.
Definition: message.h:24
@ None
Invalid message type.
Definition: message.h:25
@ InvokeMessage
Asynchronous method invocation across threads.
Definition: message.h:26
@ ThreadMoveMessage
Object is being moved to a different thread.
Definition: message.h:27
@ UserMessage
First value available for user-defined messages.
Definition: message.h:28
Message(Type type)
Construct a message object of type type.
Definition: message.cpp:60
static Type registerMessageType()
Reserve and register a custom user-defined message type.
Definition: message.cpp:108
Base object to support automatic signal disconnection.
Definition: object.h:25
General-purpose counting semaphore.
Definition: semaphore.h:17
A thread of execution.
Definition: thread.h:31