Example #1
0
 /// <summary>
 /// Clear all event handlers
 /// </summary>
 public void ClearEventHandlers()
 {
     if (DeviceConnectedEvent != null)
     {
         foreach (Delegate d in DeviceConnectedEvent?.GetInvocationList())
         {
             DeviceConnectedEvent -= (EventHandler <DeviceEventArgs>)d;
         }
     }
     if (DeviceReadyEvent != null)
     {
         foreach (Delegate d in DeviceReadyEvent?.GetInvocationList())
         {
             DeviceReadyEvent -= (EventHandler <DeviceEventArgs>)d;
         }
     }
     if (DeviceDisconnectedEvent != null)
     {
         foreach (Delegate d in DeviceDisconnectedEvent?.GetInvocationList())
         {
             DeviceDisconnectedEvent -= (EventHandler <DeviceEventArgs>)d;
         }
     }
     if (MtuChangeEvent != null)
     {
         foreach (Delegate d in MtuChangeEvent?.GetInvocationList())
         {
             MtuChangeEvent -= (EventHandler <DeviceMtuEventArgs>)d;
         }
     }
     if (ServicesDiscoveredEvent != null)
     {
         foreach (Delegate d in ServicesDiscoveredEvent?.GetInvocationList())
         {
             ServicesDiscoveredEvent -= (EventHandler <EventArgs>)d;
         }
     }
 }
Example #2
0
        public List <IMessageHandler> CreateHandlers(HttpContext context, CloseFunction closeFunction, SenderFunction sendFunction)
        {
            string emulatorName = context.Request.Path.Value.Replace($"/ws/{DeviceType}/", "");
            var    emulator     = emulatorService.FindEmulator <IDs4Emulator>(XOutput.Emulation.DeviceTypes.SonyDualShock4, emulatorName);
            var    device       = emulator.CreateDs4Device();
            DeviceDisconnectedEvent disconnectedEvent = (sender, args) => closeFunction();

            device.Closed += disconnectedEvent;
            var ip = context.Request.HttpContext.Connection.RemoteIpAddress?.ToString();

            deviceInfoService.Add(new NetworkDeviceInfo
            {
                Device     = device,
                IPAddress  = ip,
                DeviceType = XOutput.Emulation.DeviceTypes.SonyDualShock4,
                Emulator   = emulator.Name,
            });
            return(new List <IMessageHandler>
            {
                new DebugMessageHandler(),
                new Ds4FeedbackMessageHandler(device, sendFunction.GetTyped <Ds4FeedbackMessage>()),
                new Ds4InputMessageHandler(device, disconnectedEvent),
            });
        }
Example #3
0
 public void OnDeviceDisconnected(BluetoothDevice p0)
 {
     DeviceDisconnectedEvent?.Invoke(this, new DeviceEventArgs(p0));
 }
Example #4
0
 /// <summary>
 /// Event handler for when the device is disconnected
 /// </summary>
 /// <param name="sender">Sender</param>
 /// <param name="e">Event arguments including a Bluetooth device</param>
 private void _skfBleManagerCallbacks_DeviceDisconnectedEvent(object sender, DeviceEventArgs e)
 {
     _currentDevice = null;
     DeviceDisconnectedEvent?.Invoke(this, new DeviceEventArgs(e.Device));
 }
 public XboxInputMessageHandler(XboxDevice device, DeviceDisconnectedEvent disconnectedEventHandler)
 {
     this.device = device;
     this.disconnectedEventHandler = disconnectedEventHandler;
 }
Example #6
0
 public void Accept(DeviceDisconnectedEvent evt)
 {
     this.OnDeviceDisconnected(evt.Data.Id, evt.Data.Error);
 }
Example #7
0
 public Ds4InputMessageHandler(Ds4Device device, DeviceDisconnectedEvent disconnectedEventHandler)
 {
     this.device = device;
     this.disconnectedEventHandler = disconnectedEventHandler;
 }