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)); }