Beispiel #1
0
        public void ForgetCamera(Lumix obj)
        {
            var usn  = obj.Device.Usn;
            var host = obj.Device.Host;

            ipToLumix.TryRemove(host, out _);
            usnToLumix.TryRemove(usn, out _);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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 _);
            }
        }
Beispiel #4
0
        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));
                }
            });
        }
Beispiel #5
0
 protected bool Equals(Lumix other)
 {
     return(Equals(Uuid, other.Uuid));
 }