#include #include #include #include extern "C" { void lcameraDev_main( const std::shared_ptr& componentThread) { lcamera_dev::lcameraDevMain(componentThread); } void lcameraDev_exit(void) { lcamera_dev::lcameraDevExit(); } sscl::co::ViralNonPostingInvoker lcameraDev_getOrCreateDeviceCReq(const std::string& deviceSelector) { lcamera_dev::LcameraDevState& state = lcamera_dev::getLcameraDevState(); if (!state.isInitialized) { throw std::runtime_error( "lcameraDev_getOrCreateDeviceCReq: call lcameraDev_main first"); } co_return co_await lcamera_dev::getOrCreateDeviceSessionCReq(deviceSelector); } sscl::co::ViralNonPostingInvoker lcameraDev_releaseDeviceCReq( const std::shared_ptr& deviceSession) { lcamera_dev::LcameraDevState& state = lcamera_dev::getLcameraDevState(); if (!state.isInitialized) { throw std::runtime_error( "lcameraDev_releaseDeviceCReq: call lcameraDev_main first"); } co_await lcamera_dev::releaseDeviceSessionCReq(deviceSession); co_return; } sscl::co::ViralNonPostingInvoker> lcameraDev_enumerateCamerasCReq(void) { lcamera_dev::LcameraDevState& state = lcamera_dev::getLcameraDevState(); if (!state.isInitialized) { throw std::runtime_error( "lcameraDev_enumerateCamerasCReq: call lcameraDev_main first"); } co_return co_await lcamera_dev::enumerateCamerasCReq(); } } // extern "C"