diff --git a/Pepperdash Core/Pepperdash Core.suo b/Pepperdash Core/Pepperdash Core.suo index b9d2a14..ad2f91d 100644 Binary files a/Pepperdash Core/Pepperdash Core.suo and b/Pepperdash Core/Pepperdash Core.suo differ diff --git a/Pepperdash Core/Pepperdash Core/Comm/DynamicTCPServer.cs b/Pepperdash Core/Pepperdash Core/Comm/DynamicTCPServer.cs index 792b1a8..ae37704 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/DynamicTCPServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/DynamicTCPServer.cs @@ -6,7 +6,7 @@ using Crestron.SimplSharp; using Crestron.SimplSharp.CrestronSockets; using PepperDash.Core; -namespace PepperDash_Core +namespace PepperDash.Core { public class DynamicTCPServer : Device { @@ -40,7 +40,14 @@ namespace PepperDash_Core public string status { - get { return Secure ? SecureServer.State.ToString() : UnsecureServer.State.ToString(); } + get + { + if (Secure ? SecureServer != null : UnsecureServer != null) + return Secure ? SecureServer.State.ToString() : UnsecureServer.State.ToString(); + else + return ""; + } + } /// @@ -48,7 +55,8 @@ namespace PepperDash_Core /// public bool IsConnected { - get { return Secure ? SecureServer.State == ServerState.SERVER_CONNECTED : UnsecureServer.State == ServerState.SERVER_CONNECTED; } + get { return (Secure ? SecureServer != null : UnsecureServer != null) && + (Secure ? SecureServer.State == ServerState.SERVER_CONNECTED : UnsecureServer.State == ServerState.SERVER_CONNECTED); } } /// @@ -64,11 +72,10 @@ namespace PepperDash_Core /// public bool IsListening { - get { return Secure ? SecureServer.State == ServerState.SERVER_LISTENING : UnsecureServer.State == ServerState.SERVER_LISTENING; } + get { return (Secure ? SecureServer != null : UnsecureServer != null) && + (Secure ? SecureServer.State == ServerState.SERVER_LISTENING : UnsecureServer.State == ServerState.SERVER_LISTENING); } } - - public ushort MaxConnections { get; set; } // should be set by parameter in SIMPL+ in the MAIN method, Should not ever need to be configurable - + /// /// S+ helper for IsConnected /// @@ -77,12 +84,18 @@ namespace PepperDash_Core get { return (ushort)(IsListening ? 1 : 0); } } + public ushort MaxClients { get; set; } // should be set by parameter in SIMPL+ in the MAIN method, Should not ever need to be configurable /// /// Number of clients currently connected. /// public ushort NumberOfClientsConnected { - get { return Secure ? (ushort)SecureServer.NumberOfClientsConnected : (ushort)UnsecureServer.NumberOfClientsConnected; } + get + { + if (Secure ? SecureServer != null : UnsecureServer != null) + return Secure ? (ushort)SecureServer.NumberOfClientsConnected : (ushort)UnsecureServer.NumberOfClientsConnected; + return 0; + } } /// @@ -122,19 +135,7 @@ namespace PepperDash_Core /// SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module. /// If SharedKey changes while server is listening or clients are connected, disconnect and stop listening will be called /// - public string SharedKey - { - get - { - return _SharedKey; - } - set - { - DisconnectAllClients(); - _SharedKey = value; - } - } - private string _SharedKey; + public string SharedKey { get; set; } /// /// flags to show the secure server is waiting for client at index to send the shared key @@ -152,17 +153,7 @@ namespace PepperDash_Core /// public int BufferSize { get; set; } - public string OnlyAcceptConnectionFromAddress - { - get { return _OnlyAcceptConnectionFromAddress; } - set - { - DisconnectAllClients(); - MaxConnections = 1; - _OnlyAcceptConnectionFromAddress = value; - } - } - private string _OnlyAcceptConnectionFromAddress; + public string OnlyAcceptConnectionFromAddress { get; set; } private bool ServerStopped { get; set; } @@ -190,66 +181,72 @@ namespace PepperDash_Core public void Listen() { - if (Port < 1 || Port > 65535) + try { - Debug.Console(1, Debug.ErrorLogLevel.Warning, "GenericSecureTcpClient '{0}': Invalid port", Key); - ErrorLog.Warn(string.Format("GenericSecureTcpClient '{0}': Invalid port", Key)); - return; - } - if (string.IsNullOrEmpty(SharedKey) && RequiresPresharedKey) - { - Debug.Console(1, Debug.ErrorLogLevel.Warning, "GenericSecureTcpClient '{0}': No Shared Key set", Key); - ErrorLog.Warn(string.Format("GenericSecureTcpClient '{0}': No Shared Key set", Key)); - return; - } - if (Secure) - { - if (SecureServer.State == ServerState.SERVER_LISTENING) + if (Port < 1 || Port > 65535) + { + Debug.Console(1, Debug.ErrorLogLevel.Warning, "GenericSecureTcpClient '{0}': Invalid port", Key); + ErrorLog.Warn(string.Format("GenericSecureTcpClient '{0}': Invalid port", Key)); return; - SecureServer = new SecureTCPServer(Port, MaxConnections); - SecureServer.SocketStatusChange += new SecureTCPServerSocketStatusChangeEventHandler(SecureServer_SocketStatusChange); - ServerStopped = false; - if (!string.IsNullOrEmpty(OnlyAcceptConnectionFromAddress)) - SecureServer.WaitForConnectionAsync(OnlyAcceptConnectionFromAddress, SecureConnectCallback); - else - SecureServer.WaitForConnectionAsync(IPAddress.Any, SecureConnectCallback); - Debug.Console(0, "Secure Server Status: {0}, Socket Status: {1}\r\n", SecureServer.State.ToString(), SecureServer.ServerSocketStatus); - } - else - { - if (UnsecureServer.State == ServerState.SERVER_LISTENING) + } + if (string.IsNullOrEmpty(SharedKey) && RequiresPresharedKey) + { + Debug.Console(1, Debug.ErrorLogLevel.Warning, "GenericSecureTcpClient '{0}': No Shared Key set", Key); + ErrorLog.Warn(string.Format("GenericSecureTcpClient '{0}': No Shared Key set", Key)); return; - UnsecureServer = new TCPServer(Port, MaxConnections); - UnsecureServer.SocketStatusChange += new TCPServerSocketStatusChangeEventHandler(UnsecureServer_SocketStatusChange); - ServerStopped = false; - if (!string.IsNullOrEmpty(OnlyAcceptConnectionFromAddress)) - UnsecureServer.WaitForConnectionAsync(OnlyAcceptConnectionFromAddress, UnsecureConnectCallback); + } + if (IsListening) + return; + if (Secure) + { + SecureServer = new SecureTCPServer(Port, MaxClients); + SecureServer.SocketStatusChange += new SecureTCPServerSocketStatusChangeEventHandler(SecureServer_SocketStatusChange); + ServerStopped = false; + if (!string.IsNullOrEmpty(OnlyAcceptConnectionFromAddress)) + SecureServer.WaitForConnectionAsync(OnlyAcceptConnectionFromAddress, SecureConnectCallback); + else + SecureServer.WaitForConnectionAsync(IPAddress.Any, SecureConnectCallback); + onServerStateChange(); + Debug.Console(2, "Secure Server Status: {0}, Socket Status: {1}\r\n", SecureServer.State.ToString(), SecureServer.ServerSocketStatus); + } else - UnsecureServer.WaitForConnectionAsync(IPAddress.Any, UnsecureConnectCallback); - Debug.Console(0, "Unsecure Server Status: {0}, Socket Status: {1}\r\n", UnsecureServer.State.ToString(), UnsecureServer.ServerSocketStatus); + { + UnsecureServer = new TCPServer(Port, MaxClients); + UnsecureServer.SocketStatusChange += new TCPServerSocketStatusChangeEventHandler(UnsecureServer_SocketStatusChange); + ServerStopped = false; + if (!string.IsNullOrEmpty(OnlyAcceptConnectionFromAddress)) + UnsecureServer.WaitForConnectionAsync(OnlyAcceptConnectionFromAddress, UnsecureConnectCallback); + else + UnsecureServer.WaitForConnectionAsync(IPAddress.Any, UnsecureConnectCallback); + onServerStateChange(); + Debug.Console(2, "Unsecure Server Status: {0}, Socket Status: {1}\r\n", UnsecureServer.State.ToString(), UnsecureServer.ServerSocketStatus); + } + } + catch (Exception ex) + { + ErrorLog.Error("Error with Dynamic Server: {0}", ex.ToString()); } } public void StopListening() { - Debug.Console(0, "Stopping Listener"); + Debug.Console(2, "Stopping Listener"); if (SecureServer != null && SecureServer.State == ServerState.SERVER_LISTENING) SecureServer.Stop(); if (UnsecureServer != null && UnsecureServer.State == ServerState.SERVER_LISTENING) UnsecureServer.Stop(); - var handler = ServerStateChange; - if (ServerStateChange != null) - ServerStateChange(this, new DynamicTCPServerStateChangedEventArgs(this, Secure)); ServerStopped = true; + onServerStateChange(); } public void DisconnectAllClients() { - Debug.Console(0, "Disconnecting All Clients"); + Debug.Console(2, "Disconnecting All Clients"); if (SecureServer != null && SecureServer.NumberOfClientsConnected > 0) SecureServer.DisconnectAll(); if (UnsecureServer != null && UnsecureServer.NumberOfClientsConnected > 0) UnsecureServer.DisconnectAll(); + onServerStateChange(); //State shows both listening and connected } public void BroadcastText(string text) @@ -260,7 +257,7 @@ namespace PepperDash_Core { foreach (uint i in ConnectedClientsIndexes) { - byte[] b = Encoding.ASCII.GetBytes(text); + byte[] b = Encoding.GetEncoding(28591).GetBytes(text); SecureServer.SendDataAsync(i, b, b.Length, SecureSendDataAsyncCallback); } } @@ -268,7 +265,7 @@ namespace PepperDash_Core { foreach (uint i in ConnectedClientsIndexes) { - byte[] b = Encoding.ASCII.GetBytes(text); + byte[] b = Encoding.GetEncoding(28591).GetBytes(text); UnsecureServer.SendDataAsync(i, b, b.Length, UnsecureSendDataAsyncCallback); } } @@ -284,12 +281,12 @@ namespace PepperDash_Core { if (Secure) { - byte[] b = Encoding.ASCII.GetBytes(text); + byte[] b = Encoding.GetEncoding(28591).GetBytes(text); SecureServer.SendDataAsync(clientIndex, b, b.Length, SecureSendDataAsyncCallback); } else { - byte[] b = Encoding.ASCII.GetBytes(text); + byte[] b = Encoding.GetEncoding(28591).GetBytes(text); UnsecureServer.SendDataAsync(clientIndex, b, b.Length, UnsecureSendDataAsyncCallback); } } @@ -298,7 +295,7 @@ namespace PepperDash_Core #region Methods - Socket Status Changed Callbacks void SecureServer_SocketStatusChange(SecureTCPServer mySecureTCPServer, uint clientIndex, SocketStatus serverSocketStatus) { - Debug.Console(0, "Client at {0} ServerSocketStatus {1}", + Debug.Console(2, "Client at {0} ServerSocketStatus {1}", mySecureTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex), serverSocketStatus.ToString()); if (mySecureTCPServer.GetServerSocketStatusForSpecificClient(clientIndex) == SocketStatus.SOCKET_STATUS_CONNECTED) { @@ -317,7 +314,7 @@ namespace PepperDash_Core void UnsecureServer_SocketStatusChange(TCPServer mySecureTCPServer, uint clientIndex, SocketStatus serverSocketStatus) { - Debug.Console(0, "Client at {0} ServerSocketStatus {1}", + Debug.Console(2, "Client at {0} ServerSocketStatus {1}", mySecureTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex), serverSocketStatus.ToString()); if (mySecureTCPServer.GetServerSocketStatusForSpecificClient(clientIndex) == SocketStatus.SOCKET_STATUS_CONNECTED) { @@ -340,12 +337,12 @@ namespace PepperDash_Core { if (RequiresPresharedKey) { - byte[] b = Encoding.ASCII.GetBytes(SharedKey + "\n"); + byte[] b = Encoding.GetEncoding(28591).GetBytes(SharedKey + "\n"); mySecureTCPServer.SendDataAsync(clientIndex, b, b.Length, SecureSendDataAsyncCallback); - Debug.Console(0, "Sent Shared Key to client at {0}", mySecureTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex)); + Debug.Console(2, "Sent Shared Key to client at {0}", mySecureTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex)); } mySecureTCPServer.ReceiveDataAsync(clientIndex, SecureReceivedCallback); - if (mySecureTCPServer.State != ServerState.SERVER_LISTENING && MaxConnections > 1 && !ServerStopped) + if (mySecureTCPServer.State != ServerState.SERVER_LISTENING && MaxClients > 1 && !ServerStopped) SecureServer.WaitForConnectionAsync(IPAddress.Any, SecureConnectCallback); } } @@ -354,10 +351,10 @@ namespace PepperDash_Core { if (myTCPServer.ClientConnected(clientIndex)) { - Debug.Console(0, "Connected to client at {0}", myTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex)); + Debug.Console(2, "Connected to client at {0}", myTCPServer.GetAddressServerAcceptedConnectionFromForSpecificClient(clientIndex)); myTCPServer.ReceiveDataAsync(clientIndex, UnsecureReceivedCallback); } - if (myTCPServer.State != ServerState.SERVER_LISTENING && MaxConnections > 1 && !ServerStopped) + if (myTCPServer.State != ServerState.SERVER_LISTENING && MaxClients > 1 && !ServerStopped) UnsecureServer.WaitForConnectionAsync(IPAddress.Any, UnsecureConnectCallback); } #endregion @@ -379,17 +376,15 @@ namespace PepperDash_Core { string received = "Nothing"; byte[] bytes = mySecureTCPServer.GetIncomingDataBufferForSpecificClient(clientIndex); - received = System.Text.Encoding.ASCII.GetString(bytes, 0, numberOfBytesReceived); - Debug.Console(0, "Secure Server Listening on Port: {0}, client IP: {1}, NumberOfBytesReceived: {2}, Received: {3}\r\n", - mySecureTCPServer.PortNumber, mySecureTCPServer.AddressServerAcceptedConnectionFrom, numberOfBytesReceived, received); + received = System.Text.Encoding.GetEncoding(28591).GetString(bytes, 0, numberOfBytesReceived); if (WaitingForSharedKey.Contains(clientIndex)) { received = received.Replace("\r", ""); received = received.Replace("\n", ""); if (received != SharedKey) { - byte[] b = Encoding.ASCII.GetBytes("Shared key did not match server. Disconnecting"); - Debug.Console(0, "Client at index {0} Shared key did not match the server, disconnecting client", clientIndex); + byte[] b = Encoding.GetEncoding(28591).GetBytes("Shared key did not match server. Disconnecting"); + Debug.Console(2, "Client at index {0} Shared key did not match the server, disconnecting client", clientIndex); ErrorLog.Error("Client at index {0} Shared key did not match the server, disconnecting client", clientIndex); mySecureTCPServer.SendDataAsync(clientIndex, b, b.Length, null); mySecureTCPServer.Disconnect(clientIndex); @@ -397,14 +392,16 @@ namespace PepperDash_Core if (mySecureTCPServer.NumberOfClientsConnected > 0) mySecureTCPServer.ReceiveDataAsync(SecureReceivedCallback); WaitingForSharedKey.Remove(clientIndex); - byte[] skResponse = Encoding.ASCII.GetBytes("Shared Key Match, Connected and ready for communication"); + byte[] skResponse = Encoding.GetEncoding(28591).GetBytes("Shared Key Match, Connected and ready for communication"); mySecureTCPServer.SendDataAsync(clientIndex, skResponse, skResponse.Length, null); mySecureTCPServer.ReceiveDataAsync(SecureReceivedCallback); } else { - onTextReceived(received); mySecureTCPServer.ReceiveDataAsync(SecureReceivedCallback); + Debug.Console(2, "Secure Server Listening on Port: {0}, client IP: {1}, NumberOfBytesReceived: {2}, Received: {3}\r\n", + mySecureTCPServer.PortNumber, mySecureTCPServer.AddressServerAcceptedConnectionFrom, numberOfBytesReceived, received); + onTextReceived(received); } } if (mySecureTCPServer.GetServerSocketStatusForSpecificClient(clientIndex) == SocketStatus.SOCKET_STATUS_CONNECTED) @@ -417,11 +414,11 @@ namespace PepperDash_Core { string received = "Nothing"; byte[] bytes = myTCPServer.GetIncomingDataBufferForSpecificClient(clientIndex); - received = System.Text.Encoding.ASCII.GetString(bytes, 0, numberOfBytesReceived); - Debug.Console(0, "Unsecure Server Listening on Port: {0}, client IP: {1}, NumberOfBytesReceived: {2}, Received: {3}\r\n", - myTCPServer.PortNumber, myTCPServer.AddressServerAcceptedConnectionFrom, numberOfBytesReceived, received); + received = System.Text.Encoding.GetEncoding(28591).GetString(bytes, 0, numberOfBytesReceived); + Debug.Console(2, "Unsecure Server Listening on Port: {0}, client IP: {1}, NumberOfBytesReceived: {2}, Received: {3}\r\n", + myTCPServer.PortNumber, myTCPServer.AddressServerAcceptedConnectionFrom, numberOfBytesReceived, received); + myTCPServer.ReceiveDataAsync(UnsecureReceivedCallback); onTextReceived(received); - myTCPServer.ReceiveDataAsync(UnsecureReceivedCallback); } if (myTCPServer.GetServerSocketStatusForSpecificClient(clientIndex) == SocketStatus.SOCKET_STATUS_CONNECTED) myTCPServer.ReceiveDataAsync(clientIndex, UnsecureReceivedCallback); @@ -435,9 +432,9 @@ namespace PepperDash_Core if (handler != null) { if (Secure) - ClientConnectionChange(this, new DynamicTCPServerSocketStatusChangeEventArgs(SecureServer, Secure)); + handler(this, new DynamicTCPServerSocketStatusChangeEventArgs(SecureServer, Secure)); else - ClientConnectionChange(this, new DynamicTCPServerSocketStatusChangeEventArgs(UnsecureServer, Secure)); + handler(this, new DynamicTCPServerSocketStatusChangeEventArgs(UnsecureServer, Secure)); } } @@ -445,7 +442,19 @@ namespace PepperDash_Core { var handler = TextReceived; if (handler != null) - TextReceived(this, new GenericCommMethodReceiveTextArgs(text)); + handler(this, new GenericCommMethodReceiveTextArgs(text)); + } + + void onServerStateChange() + { + var handler = ServerStateChange; + if(handler != null) + { + if(Secure) + handler(this, new DynamicTCPServerStateChangedEventArgs(SecureServer, Secure)); + else + handler(this, new DynamicTCPServerStateChangedEventArgs(UnsecureServer, Secure)); + } } void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType) diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpClient.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpClient.cs index 09b1637..046794e 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpClient.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpClient.cs @@ -63,20 +63,7 @@ namespace PepperDash.Core /// /// SharedKey is sent for varification to the server. Shared key can be any text (255 char limit in SIMPL+ Module), but must match the Shared Key on the Server module /// - public string SharedKey - { - get - { - return _SharedKey; - } - set - { - if (Client.ClientStatus == SocketStatus.SOCKET_STATUS_CONNECTED) - Client.DisconnectFromServer(); - _SharedKey = value; - } - } - private string _SharedKey; + public string SharedKey { get; set; } /// /// flag to show the client is waiting for the server to send the shared key @@ -362,7 +349,7 @@ namespace PepperDash.Core void Client_SocketStatusChange(SecureTCPClient client, SocketStatus clientSocketStatus) { Debug.Console(2, this, "Socket status change {0} ({1})", clientSocketStatus, ClientStatusText); - if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser) + if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser && AutoReconnect) WaitAndTryReconnect(); // Probably doesn't need to be a switch since all other cases were eliminated diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs index 350a7a6..dfcce3c 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs @@ -313,7 +313,7 @@ namespace PepperDash.Core void Client_SocketStatusChange(TCPClient client, SocketStatus clientSocketStatus) { Debug.Console(2, this, "Socket status change {0} ({1})", clientSocketStatus, ClientStatusText); - if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser) + if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser && AutoReconnect) WaitAndTryReconnect(); // Probably doesn't need to be a switch since all other cases were eliminated diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo index a0d0bd4..fc99cb7 100644 Binary files a/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo and b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo differ diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz index b8ce03e..bd9b0a0 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz differ diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config index 287c6a1..d5d11bf 100644 --- a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config +++ b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config @@ -10,8 +10,8 @@ - 3/15/2017 3:30:41 PM - 1.0.6283.26120 + 3/16/2017 4:29:50 PM + 1.0.6284.27894 Crestron.SIMPLSharp, Version=2.0.52.0, Culture=neutral, PublicKeyToken=812d080f93e2de10 diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll index a745858..ca06589 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll differ diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb index 4771332..16f1b46 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb differ diff --git a/Pepperdash Core/Pepperdash Core/bin/manifest.info b/Pepperdash Core/Pepperdash Core/bin/manifest.info index a357fc1..fafb5ed 100644 --- a/Pepperdash Core/Pepperdash Core/bin/manifest.info +++ b/Pepperdash Core/Pepperdash Core/bin/manifest.info @@ -1,4 +1,4 @@ -MainAssembly=PepperDash_Core.dll:36d08f49a05b4a3b41534e1c11044524 +MainAssembly=PepperDash_Core.dll:6f9c7beaa687813ff469ca17ed4a2b09 MainAssemblyMinFirmwareVersion=1.007.0017 MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e ü diff --git a/Pepperdash Core/Pepperdash Core/bin/manifest.ser b/Pepperdash Core/Pepperdash Core/bin/manifest.ser index 2c88bc1..39ff880 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/manifest.ser and b/Pepperdash Core/Pepperdash Core/bin/manifest.ser differ diff --git a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll index 982a762..85fc698 100644 Binary files a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll and b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll differ diff --git a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb index b8f8c4b..dc3f923 100644 Binary files a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb and b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb differ