(&self, udid: &str, delta: f64)
| 736 | } |
| 737 | |
| 738 | pub fn rotate_crown(&self, udid: &str, delta: f64) -> Result<(), AppError> { |
| 739 | if !delta.is_finite() { |
| 740 | return Err(AppError::bad_request("Digital Crown delta must be finite.")); |
| 741 | } |
| 742 | if self |
| 743 | .simulator(udid) |
| 744 | .ok() |
| 745 | .flatten() |
| 746 | .as_ref() |
| 747 | .map(|simulator| !simulator_is_watchos(simulator)) |
| 748 | .unwrap_or(false) |
| 749 | { |
| 750 | return Err(digital_crown_error()); |
| 751 | } |
| 752 | let udid = CString::new(udid).map_err(|e| AppError::bad_request(e.to_string()))?; |
| 753 | unsafe { |
| 754 | let mut error = ptr::null_mut(); |
| 755 | bool_result( |
| 756 | ffi::xcw_native_rotate_crown(udid.as_ptr(), delta, &mut error), |
| 757 | error, |
| 758 | ) |
| 759 | } |
| 760 | } |
| 761 | |
| 762 | pub fn rotate_right(&self, udid: &str) -> Result<(), AppError> { |
| 763 | if self.simulator_has_fixed_orientation(udid).unwrap_or(false) { |
no test coverage detected