A message carrying a method invocation across threads. More...


Public Member Functions | |
| InvokeMessage (BoundMethodBase *method, std::shared_ptr< BoundMethodPackBase > pack, Semaphore *semaphore=nullptr, bool deleteMethod=false) | |
| Construct an InvokeMessage for method invocation on an Object. | |
| Semaphore * | semaphore () const |
| Retrieve the message semaphore passed to the constructor. | |
| void | invoke () |
| Invoke the method bound to InvokeMessage::method_ with arguments InvokeMessage::pack_. | |
Public Member Functions inherited from libcamera::Message | |
| Message (Type type) | |
| Construct a message object of type type. | |
| Type | type () const |
| Retrieve the message type. | |
| Object * | receiver () const |
| Retrieve the message receiver. | |
Additional Inherited Members | |
Public Types inherited from libcamera::Message | |
| enum | Type { None = 0 , InvokeMessage = 1 , ThreadMoveMessage = 2 , DeferredDelete = 3 , UserMessage = 1000 } |
| The message type. More... | |
Static Public Member Functions inherited from libcamera::Message | |
| static Type | registerMessageType () |
| Reserve and register a custom user-defined message type. | |
A message carrying a method invocation across threads.
| libcamera::InvokeMessage::InvokeMessage | ( | BoundMethodBase * | method, |
| std::shared_ptr< BoundMethodPackBase > | pack, | ||
| Semaphore * | semaphore = nullptr, | ||
| bool | deleteMethod = false ) |
Construct an InvokeMessage for method invocation on an Object.
| [in] | method | The bound method |
| [in] | pack | The packed method arguments |
| [in] | semaphore | The semaphore used to signal message delivery |
| [in] | deleteMethod | True to delete the method when the message is destroyed |
|
inline |
Retrieve the message semaphore passed to the constructor.