diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-01-03 22:53:09 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-01-07 22:29:35 +0200 |
commit | 3d1d2081714f316483dddf573105682910b026bc (patch) | |
tree | 36e88d9acf0e6ed35856ea0a7b9d9a9f617d6f3d /src/cam/event_loop.cpp | |
parent | b0135a1522ed4217a8deb7929fdb36276e58161b (diff) |
libcamera: bound_method: Propagate method return value
Propagate the return value of the bound method all the way to the caller
of activate(). The value is stored in the arguments pack for indirect
invocation.
As C++ doesn't allow instantiating a variable of type void, we need to
specialize the template class BoundMethodPack for methods returning
void. This in turn requires template specialization for the
BoundMethodArgs class in order to store the return value in the pack,
and for the BoundMemberMethod class to extract the return value from the
pack.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/cam/event_loop.cpp')
0 files changed, 0 insertions, 0 deletions