diff options
author | Paul Oliver <contact@pauloliver.dev> | 2025-08-25 03:05:35 +0000 |
---|---|---|
committer | Paul Oliver <contact@pauloliver.dev> | 2025-08-27 04:17:11 +0000 |
commit | 3806bd1f5ce56afdbb4cc0c1ed54d53e25603be2 (patch) | |
tree | e8eb9efb2b6c1abfaa0569b7c60b2f371fb215ef /hsm-cam/FFI/Cam.cpp | |
parent | c6bd9536038af5949924d1ad20a121bb10553300 (diff) |
Improves `hsm-cam`
- Moves C++ constants to Haskell side
- Uses better names for request callback related variables
- Captures and redirects libcamera's internal logging
Diffstat (limited to 'hsm-cam/FFI/Cam.cpp')
-rw-r--r-- | hsm-cam/FFI/Cam.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/hsm-cam/FFI/Cam.cpp b/hsm-cam/FFI/Cam.cpp index 9e371c1..bfdecf6 100644 --- a/hsm-cam/FFI/Cam.cpp +++ b/hsm-cam/FFI/Cam.cpp @@ -8,7 +8,7 @@ using namespace libcamera; using namespace std; HsLogger g_logger; -HsCallback g_callback; +HsRequestCallback g_request_callback; unique_ptr<CameraManager> g_manager; shared_ptr<Camera> g_camera; unique_ptr<CameraConfiguration> g_config; @@ -23,11 +23,11 @@ logMsg(Severity severity, const format_string<Args...> fmt, const Args &...args) } void -request_complete(Request *request) +internal_request_callback(Request *request) { int sequence = request->buffers().begin()->second->metadata().sequence; logMsg(Trace, "Completed request #{}", sequence); - g_callback(); + g_request_callback(); } extern "C" void @@ -38,10 +38,10 @@ register_logger(HsLogger hs_logger) } extern "C" void -register_callback(HsCallback hs_callback) +register_request_callback(HsRequestCallback hs_request_callback) { - g_callback = hs_callback; - logMsg(Info, "Registered FFI callback"); + g_request_callback = hs_request_callback; + logMsg(Info, "Registered FFI request callback"); } extern "C" void @@ -91,8 +91,8 @@ allocate_frame_buffer() g_allocator = make_unique<FrameBufferAllocator>(g_camera); g_allocator->allocate(g_config->at(0).stream()); - logMsg(Info, "Registering request complete callback"); - g_camera->requestCompleted.connect(request_complete); + logMsg(Info, "Registering internal request callback"); + g_camera->requestCompleted.connect(internal_request_callback); } extern "C" void |