public IEnumerable <CameraDeviceInformation> GetDeviceInformation() { var deviceList = new Native.CameraDeviceListStruct(); Native.GetDeviceList(Handle, ref deviceList). ThrowIfFailed("Failed to get camera device list"); return(GetDeviceInformation(deviceList)); }
private void UnregisterDeviceConnectionChangedCallback() { Log.Debug(CameraLog.Tag, $"Enter. callbackId[{_connectionCallbackId}]"); if (_connectionCallbackId >= 0) { Native.UnsetDeviceConnectionChangedCallback(Handle, _connectionCallbackId). ThrowIfFailed("Failed to unset device connection changed callback"); } }
private void RegisterDeviceConnectionChangedCallback() { Native.DeviceConnectionChangedCallback callback = (ref Native.CameraDeviceStruct device, bool status, IntPtr userData) => { DeviceConnectionChanged?.Invoke(this, new CameraDeviceConnectionChangedEventArgs(ref device, status)); }; Native.SetDeviceConnectionChangedCallback(Handle, callback, IntPtr.Zero, out connectionCallbackId). ThrowIfFailed("Failed to set device connection changed callback"); }
private void RegisterDeviceConnectionChangedCallback() { _deviceConnectionChangedCallback = (ref Native.CameraDeviceStruct device, bool status, IntPtr userData) => { Log.Debug(CameraLog.Tag, "Invoke DeviceConnectionChanged event"); _deviceConnectionChanged?.Invoke(this, new CameraDeviceConnectionChangedEventArgs(ref device, status)); }; Native.SetDeviceConnectionChangedCallback(Handle, _deviceConnectionChangedCallback, IntPtr.Zero, out _connectionCallbackId). ThrowIfFailed("Failed to set device connection changed callback"); Log.Debug(CameraLog.Tag, $"callbackId[{_connectionCallbackId}]"); }
protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { // to be used if there are any other disposable objects } if (_handle != IntPtr.Zero) { UnregisterDeviceConnectionChangedCallback(); Native.Deinitialize(_handle); _handle = IntPtr.Zero; } _disposed = true; } }
protected virtual void Dispose(bool disposing) { if (!_disposed) { Log.Debug(CameraLog.Tag, $"Enter. disposing:{disposing.ToString()}"); if (disposing) { // to be used if there are any other disposable objects } if (_handle != IntPtr.Zero) { UnregisterDeviceConnectionChangedCallback(); Native.Deinitialize(_handle); _handle = IntPtr.Zero; } _disposed = true; } }
public CameraDeviceManager() { Native.Initialize(out _handle).ThrowIfFailed("Failed to initialize CameraDeviceManager"); }
public CameraDeviceManager() { Native.Initialize(out _handle).ThrowIfFailed("Failed to initialize CameraDeviceManager"); RegisterDeviceConnectionChangedCallback(); }
private void UnregisterDeviceConnectionChangedCallback() { Native.UnsetDeviceConnectionChangedCallback(Handle, connectionCallbackId). ThrowIfFailed("Failed to unset device connection changed callback"); }