public void ForgetCamera(Lumix obj) { var usn = obj.Device.Usn; var host = obj.Device.Host; ipToLumix.TryRemove(host, out _); usnToLumix.TryRemove(usn, out _); }
public async Task <bool> ConnectCamera(Lumix camera) { try { var connectResult = await camera.Connect(LiveViewPort, lang); if (connectResult) { ipToLumix[camera.CameraHost] = camera; usnToLumix[camera.Device.Usn] = camera; Debug.WriteLine("Add listener: " + camera.CameraHost, "UDP"); } return(connectResult); } catch (Exception ex) { Log.Error(new Exception("Connection failed", ex)); return(false); } }
private void Camera_Disconnected(Lumix obj, bool stillAvailable) { var usn = obj.Device.Usn; var host = obj.Device.Host; if (!stillAvailable) { lock (foundDevices) { foundDevices.Remove(usn + host); Debug.WriteLine("Undiscovered: " + usn, "Discovery"); } Debug.WriteLine("Remove listener: " + host, "UDP"); } else { ipToLumix.TryRemove(host, out _); usnToLumix.TryRemove(usn, out _); } }
public void StartConnectCamera(Lumix camera, Action <bool> onConnect) { camera.Disconnected += Camera_Disconnected; Task.Run(async() => { try { var connectResult = await camera.Connect(LiveViewPort, lang); if (connectResult) { ipToLumix[camera.CameraHost] = camera; usnToLumix[camera.Device.Usn] = camera; Debug.WriteLine("Add listener: " + camera.CameraHost, "UDP"); } onConnect(connectResult); } catch (Exception ex) { Log.Error(new Exception("Connection failed", ex)); } }); }
protected bool Equals(Lumix other) { return(Equals(Uuid, other.Uuid)); }