From f0ad3b3706d234f0bdcfe5a1ba69d4763c478a76 Mon Sep 17 00:00:00 2001 From: Joshua Gutenplan Date: Wed, 26 Jun 2019 19:36:19 -0700 Subject: [PATCH] Added event for connected to drive connected fb on module. Status change is there but it uses socket status which is not available in UDP. --- .../Pepperdash Core/Comm/EventArgs.cs | 18 ++++++++++++++++++ .../Pepperdash Core/Comm/GenericUdpServer.cs | 10 ++++++++++ 2 files changed, 28 insertions(+) diff --git a/Pepperdash Core/Pepperdash Core/Comm/EventArgs.cs b/Pepperdash Core/Pepperdash Core/Comm/EventArgs.cs index ed43c62..52ee207 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/EventArgs.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/EventArgs.cs @@ -93,6 +93,24 @@ namespace PepperDash.Core } } + public class GenericUdpConnectedEventArgs : EventArgs + { + public ushort UConnected; + public bool Connected; + + public GenericUdpConnectedEventArgs() { } + + public GenericUdpConnectedEventArgs(ushort uconnected) + { + UConnected = uconnected; + } + + public GenericUdpConnectedEventArgs(bool connected) + { + Connected = connected; + } + } + } \ No newline at end of file diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs index b7ebb48..011c17c 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs @@ -43,6 +43,8 @@ namespace PepperDash.Core //public event GenericSocketStatusChangeEventDelegate SocketStatusChange; public event EventHandler ConnectionChange; + public event EventHandler UpdateConnectionStatus; + public SocketStatus ClientStatus { get @@ -187,6 +189,10 @@ namespace PepperDash.Core if (status == SocketErrorCodes.SOCKET_OK) IsConnected = true; + var handler = UpdateConnectionStatus; + if (handler != null) + handler(this, new GenericUdpConnectedEventArgs(UIsConnected)); + // Start receiving data Server.ReceiveDataAsync(Receive); } @@ -200,6 +206,10 @@ namespace PepperDash.Core Server.DisableUDPServer(); IsConnected = false; + + var handler = UpdateConnectionStatus; + if (handler != null) + handler(this, new GenericUdpConnectedEventArgs(UIsConnected)); }