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

Function start_camera

packages/server/src/camera.rs:85–113  ·  view source on GitHub ↗
(options: CameraStartOptions)

Source from the content-addressed store, hash-verified

83}
84
85pub fn start_camera(options: CameraStartOptions) -> Result<Value, AppError> {
86 validate_udid(&options.udid)?;
87 let source = normalize_source(options.source)?;
88 let mirror = normalize_mirror(options.mirror.as_deref())?;
89 let bundle_id = options
90 .bundle_id
91 .as_deref()
92 .map(str::trim)
93 .filter(|value| !value.is_empty());
94 if let Some(bundle_id) = bundle_id {
95 validate_bundle_id(bundle_id)?;
96 }
97 fs::create_dir_all(camera_state_dir()).map_err(app_internal)?;
98
99 let shm_name = shm_name_for_udid(&options.udid);
100 native_start_camera(&options.udid, &shm_name, &source, &mirror)?;
101
102 if let Some(bundle_id) = bundle_id {
103 if let Err(error) = launch_with_injector(&options.udid, bundle_id, &shm_name, &mirror) {
104 let _ = native_stop_camera(&options.udid);
105 return Err(error);
106 }
107 record_injected_bundle(&options.udid, bundle_id)?;
108 }
109
110 let mut status = native_status(&options.udid)?;
111 enrich_status(&options.udid, &mut status);
112 Ok(status)
113}
114
115pub fn switch_camera(
116 udid: &str,

Callers

nothing calls this directly

Calls 13

validate_udidFunction · 0.85
normalize_sourceFunction · 0.85
normalize_mirrorFunction · 0.85
validate_bundle_idFunction · 0.85
camera_state_dirFunction · 0.85
shm_name_for_udidFunction · 0.85
native_start_cameraFunction · 0.85
launch_with_injectorFunction · 0.85
native_stop_cameraFunction · 0.85
record_injected_bundleFunction · 0.85
native_statusFunction · 0.85
enrich_statusFunction · 0.85

Tested by

no test coverage detected