diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs index f819c17..b7ebb48 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs @@ -51,6 +51,11 @@ namespace PepperDash.Core } } + public ushort UStatus + { + get { return (ushort)Server.ServerStatus; } + } + CCriticalSection DequeueLock; /// @@ -87,6 +92,11 @@ namespace PepperDash.Core private set; } + public ushort UIsConnected + { + get { return IsConnected ? (ushort)1 : (ushort)0; } + } + /// /// Defaults to 2000 /// @@ -94,6 +104,20 @@ namespace PepperDash.Core public UDPServer Server { get; private set; } + /// + /// Constructor for S+. Make sure to set key, address, port, and buffersize using init method + /// + public GenericUdpServer() + : base("Uninitialized Udp Server") + { + BufferSize = 5000; + DequeueLock = new CCriticalSection(); + MessageQueue = new CrestronQueue(); + + CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler); + CrestronEnvironment.EthernetEventHandler += new EthernetEventHandler(CrestronEnvironment_EthernetEventHandler); + } + public GenericUdpServer(string key, string address, int port, int buffefSize) : base(key) { @@ -108,6 +132,13 @@ namespace PepperDash.Core CrestronEnvironment.EthernetEventHandler += new EthernetEventHandler(CrestronEnvironment_EthernetEventHandler); } + public void Initialize(string key, string address, ushort port) + { + Key = key; + Hostname = address; + UPort = port; + } + void CrestronEnvironment_EthernetEventHandler(EthernetEventArgs ethernetEventArgs) { // Re-enable the server if the link comes back up and the status should be connected @@ -135,7 +166,6 @@ namespace PepperDash.Core if (Server == null) { Server = new UDPServer(); - } if (string.IsNullOrEmpty(Hostname))