MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / native_start_camera

Function native_start_camera

packages/server/src/camera.rs:145–178  ·  view source on GitHub ↗
(
    udid: &str,
    shm_name: &str,
    source: &CameraSource,
    mirror: &str,
)

Source from the content-addressed store, hash-verified

143}
144
145fn native_start_camera(
146 udid: &str,
147 shm_name: &str,
148 source: &CameraSource,
149 mirror: &str,
150) -> Result<(), AppError> {
151 let udid = cstring("simulator UDID", udid)?;
152 let shm_name = cstring("shared memory name", shm_name)?;
153 let source_name = cstring("camera source", source.kind.as_native_arg())?;
154 let source_arg = cstring(
155 "camera source argument",
156 source.arg.as_deref().unwrap_or(""),
157 )?;
158 let mirror = cstring("camera mirror", mirror)?;
159 let mut error_message = std::ptr::null_mut();
160 let ok = unsafe {
161 ffi::simdeck_camera_start(
162 udid.as_ptr(),
163 shm_name.as_ptr(),
164 source_name.as_ptr(),
165 source_arg.as_ptr(),
166 mirror.as_ptr(),
167 &mut error_message,
168 )
169 };
170 if ok {
171 Ok(())
172 } else {
173 Err(native_error(
174 error_message,
175 "Unable to start daemon camera simulation.",
176 ))
177 }
178}
179
180fn native_status(udid: &str) -> Result<Value, AppError> {
181 let udid = cstring("simulator UDID", udid)?;

Callers 1

start_cameraFunction · 0.85

Calls 4

cstringFunction · 0.85
simdeck_camera_startFunction · 0.85
native_errorFunction · 0.85
as_native_argMethod · 0.80

Tested by

no test coverage detected