[libcamera-devel] [PATCH 0/6] Add support for blocking method invocation
Jacopo Mondi
jacopo at jmondi.org
Sun Oct 27 21:33:29 CET 2019
Hello,
this small series generalise the blocking method invocation implemented in
the Android Camera HAL to be a generic libcamera core concept.
Patch 1/6 contains the definition of message invocation types, which I've been
suggested to 'be insipired' from the QT defined ones. unfortunately I'm not sure
how to handle 3 on 5 of them, so I made it clear in the documentation which
shall be changed in the v2 of this series.
2/6 passes the newly defined message invocation type to the
Object::invokeMethod() operation, 3/6 creates a synchronization class for
Objects that wraps an std::conditional_variable and 4/6 uses them in the method
invocation path of the Object and Message classes to block until a method has
not been invoked on the receiver Object.
Patch 5/6 makes the objec-invoke test use the newly introduced blocking method
invocation mode, and patch 6/6 removes the ThreadRPC class from the Android
camera HAL implementation.
Thanks
j
Jacopo Mondi (6):
libcamera: object: Define message invocation type
libcamera: object: Invoke method with invokeType
libcamera: object: Add ObjectConditionVariable class
libcamera: Support blocking method invocation
test: object-invoke: invoke method in blocking mode
android: Replace ThreadRPC with blocking method call
include/libcamera/object.h | 32 +++++++++--
src/android/camera_device.cpp | 34 +++---------
src/android/camera_device.h | 5 +-
src/android/camera_proxy.cpp | 20 ++-----
src/android/camera_proxy.h | 3 --
src/android/meson.build | 1 -
src/android/thread_rpc.cpp | 26 ---------
src/android/thread_rpc.h | 39 --------------
src/libcamera/event_notifier.cpp | 3 +-
src/libcamera/include/message.h | 5 ++
src/libcamera/message.cpp | 11 +++-
src/libcamera/object.cpp | 92 ++++++++++++++++++++++++++++++--
src/libcamera/timer.cpp | 2 +-
test/object-invoke.cpp | 6 +--
14 files changed, 149 insertions(+), 130 deletions(-)
delete mode 100644 src/android/thread_rpc.cpp
delete mode 100644 src/android/thread_rpc.h
--
2.23.0
More information about the libcamera-devel
mailing list