#ifndef LCAMERA_DEV_H #define LCAMERA_DEV_H #include #include #include #include #include #include namespace lcamera_dev { class CameraSession; struct LcameraDevGetOrCreateResult { std::shared_ptr deviceSession; CameraIdentityRecord resolvedIdentity; }; struct LcameraDevCameraInfo { std::string id; std::string model; std::string location; }; } // namespace lcamera_dev #ifdef __cplusplus extern "C" { #endif typedef void lcameraDev_mainFn( const std::shared_ptr& componentThread); typedef void lcameraDev_exitFn(void); typedef sscl::co::ViralNonPostingInvoker lcameraDev_getOrCreateDeviceCReqFn(const std::string& deviceSelector); typedef sscl::co::ViralNonPostingInvoker lcameraDev_releaseDeviceCReqFn( const std::shared_ptr& deviceSession); typedef sscl::co::ViralNonPostingInvoker> lcameraDev_enumerateCamerasCReqFn(void); lcameraDev_mainFn lcameraDev_main; lcameraDev_exitFn lcameraDev_exit; lcameraDev_getOrCreateDeviceCReqFn lcameraDev_getOrCreateDeviceCReq; lcameraDev_releaseDeviceCReqFn lcameraDev_releaseDeviceCReq; lcameraDev_enumerateCamerasCReqFn lcameraDev_enumerateCamerasCReq; #ifdef __cplusplus } #endif #endif // LCAMERA_DEV_H