private void RegisterStateChangedCallback() { _stateChangedCallback = (CameraState previous, CameraState current, bool byPolicy, IntPtr _) => { SetState(current); Log.Info(CameraLog.Tag, "Camera state changed " + previous.ToString() + " -> " + current.ToString()); StateChanged?.Invoke(this, new CameraStateChangedEventArgs(previous, current, byPolicy)); }; CameraErrorFactory.ThrowIfError(Native.SetStateChangedCallback(_handle, _stateChangedCallback, IntPtr.Zero), "Setting state changed callback failed"); }
private void RegisterStateChangedCallback() { _stateChangedCallback = (previous, current, byPolicy, _) => { SetState(current); Log.Info(CameraLog.Tag, "Camera state changed " + previous.ToString() + " -> " + current.ToString()); StateChanged?.Invoke(this, new CameraStateChangedEventArgs(previous, current, byPolicy)); }; Native.SetStateChangedCallback(_handle, _stateChangedCallback). ThrowIfFailed("Failed to set state changed callback."); }