diff --git a/src/Pepperdash Core/Comm/CommunicationExtras.cs b/src/Pepperdash Core/Comm/CommunicationExtras.cs
deleted file mode 100644
index a5c048d..0000000
--- a/src/Pepperdash Core/Comm/CommunicationExtras.cs
+++ /dev/null
@@ -1,240 +0,0 @@
-
-using Crestron.SimplSharp.CrestronSockets;
-using PepperDash.Core.Interfaces;
-using System;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-
-namespace PepperDash.Core.Comm
-{
- ///
- /// An incoming communication stream
- ///
- public interface ICommunicationReceiver : IKeyed
- {
- ///
- /// Notifies of bytes received
- ///
- event EventHandler BytesReceived;
- ///
- /// Notifies of text received
- ///
- event EventHandler TextReceived;
-
- ///
- /// Indicates connection status
- ///
- bool IsConnected { get; }
- ///
- /// Connect to the device
- ///
- void Connect();
- ///
- /// Disconnect from the device
- ///
- void Disconnect();
- }
-
- ///
- /// Represents a device that uses basic connection
- ///
- public interface IBasicCommunication : ICommunicationReceiver
- {
- ///
- /// Send text to the device
- ///
- ///
- void SendText(string text);
-
- ///
- /// Send bytes to the device
- ///
- ///
- void SendBytes(byte[] bytes);
- }
-
- ///
- /// Represents a device that implements IBasicCommunication and IStreamDebugging
- ///
- public interface IBasicCommunicationWithStreamDebugging : IBasicCommunication, IStreamDebugging
- {
-
- }
-
- ///
- /// Represents a device with stream debugging capablities
- ///
- public interface IStreamDebugging
- {
- ///
- /// Object to enable stream debugging
- ///
- CommunicationStreamDebugging StreamDebugging { get; }
- }
-
- ///
- /// For IBasicCommunication classes that have SocketStatus. GenericSshClient,
- /// GenericTcpIpClient
- ///
- public interface ISocketStatus : IBasicCommunication
- {
- ///
- /// Notifies of socket status changes
- ///
- event EventHandler ConnectionChange;
-
- ///
- /// The current socket status of the client
- ///
- SocketStatus ClientStatus { get; }
- }
-
- ///
- /// Describes a device that implements ISocketStatus and IStreamDebugging
- ///
- public interface ISocketStatusWithStreamDebugging : ISocketStatus, IStreamDebugging
- {
-
- }
-
- ///
- /// Describes a device that can automatically attempt to reconnect
- ///
- public interface IAutoReconnect
- {
- ///
- /// Enable automatic recconnect
- ///
- bool AutoReconnect { get; set; }
- ///
- /// Interval in ms to attempt automatic recconnections
- ///
- int AutoReconnectIntervalMs { get; set; }
- }
-
- ///
- ///
- ///
- public enum eGenericCommMethodStatusChangeType
- {
- ///
- /// Connected
- ///
- Connected,
- ///
- /// Disconnected
- ///
- Disconnected
- }
-
- ///
- /// This delegate defines handler for IBasicCommunication status changes
- ///
- /// Device firing the status change
- ///
- public delegate void GenericCommMethodStatusHandler(IBasicCommunication comm, eGenericCommMethodStatusChangeType status);
-
- ///
- ///
- ///
- public class GenericCommMethodReceiveBytesArgs : EventArgs
- {
- ///
- ///
- ///
- public byte[] Bytes { get; private set; }
-
- ///
- ///
- ///
- ///
- public GenericCommMethodReceiveBytesArgs(byte[] bytes)
- {
- Bytes = bytes;
- }
-
- ///
- /// S+ Constructor
- ///
- public GenericCommMethodReceiveBytesArgs() { }
- }
-
- ///
- ///
- ///
- public class GenericCommMethodReceiveTextArgs : EventArgs
- {
- ///
- ///
- ///
- public string Text { get; private set; }
- ///
- ///
- ///
- public string Delimiter { get; private set; }
- ///
- ///
- ///
- ///
- public GenericCommMethodReceiveTextArgs(string text)
- {
- Text = text;
- }
-
- ///
- ///
- ///
- ///
- ///
- public GenericCommMethodReceiveTextArgs(string text, string delimiter)
- : this(text)
- {
- Delimiter = delimiter;
- }
-
- ///
- /// S+ Constructor
- ///
- public GenericCommMethodReceiveTextArgs() { }
- }
-
-
-
- ///
- ///
- ///
- public class ComTextHelper
- {
- ///
- /// Gets escaped text for a byte array
- ///
- ///
- ///
- public static string GetEscapedText(byte[] bytes)
- {
- return string.Concat(bytes.Select(b => string.Format(@"[{0:X2}]", (int)b)).ToArray());
- }
-
- ///
- /// Gets escaped text for a string
- ///
- ///
- ///
- public static string GetEscapedText(string text)
- {
- var bytes = Encoding.GetEncoding(28591).GetBytes(text);
- return string.Concat(bytes.Select(b => string.Format(@"[{0:X2}]", (int)b)).ToArray());
- }
-
- ///
- /// Gets debug text for a string
- ///
- ///
- ///
- public static string GetDebugText(string text)
- {
- return Regex.Replace(text, @"[^\u0020-\u007E]", a => GetEscapedText(a.Value));
- }
- }
-}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Comm/._GenericSshClient.cs b/src/Pepperdash Core/Net/._GenericSshClient.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/._GenericSshClient.cs
rename to src/Pepperdash Core/Net/._GenericSshClient.cs
diff --git a/src/Pepperdash Core/Comm/._GenericTcpIpClient.cs b/src/Pepperdash Core/Net/._GenericTcpIpClient.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/._GenericTcpIpClient.cs
rename to src/Pepperdash Core/Net/._GenericTcpIpClient.cs
diff --git a/src/Pepperdash Core/Net/ComTextHelper.cs b/src/Pepperdash Core/Net/ComTextHelper.cs
new file mode 100644
index 0000000..1466112
--- /dev/null
+++ b/src/Pepperdash Core/Net/ComTextHelper.cs
@@ -0,0 +1,44 @@
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using PepperDash.Core.Net.Interfaces;
+
+namespace PepperDash.Core.Net
+{
+ ///
+ ///
+ ///
+ public class ComTextHelper
+ {
+ ///
+ /// Gets escaped text for a byte array
+ ///
+ ///
+ ///
+ public static string GetEscapedText(byte[] bytes)
+ {
+ return string.Concat(bytes.Select(b => string.Format(@"[{0:X2}]", (int)b)).ToArray());
+ }
+
+ ///
+ /// Gets escaped text for a string
+ ///
+ ///
+ ///
+ public static string GetEscapedText(string text)
+ {
+ var bytes = Encoding.GetEncoding(28591).GetBytes(text);
+ return string.Concat(bytes.Select(b => string.Format(@"[{0:X2}]", (int)b)).ToArray());
+ }
+
+ ///
+ /// Gets debug text for a string
+ ///
+ ///
+ ///
+ public static string GetDebugText(string text)
+ {
+ return Regex.Replace(text, @"[^\u0020-\u007E]", a => GetEscapedText(a.Value));
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Comm/CommunicationGather.cs b/src/Pepperdash Core/Net/CommunicationGather.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/CommunicationGather.cs
rename to src/Pepperdash Core/Net/CommunicationGather.cs
index 970ba38..82d4277 100644
--- a/src/Pepperdash Core/Comm/CommunicationGather.cs
+++ b/src/Pepperdash Core/Net/CommunicationGather.cs
@@ -1,6 +1,7 @@
using System;
using System.Text;
using System.Text.RegularExpressions;
+using PepperDash.Core.Net.Interfaces;
namespace PepperDash.Core.Comm
{
diff --git a/src/Pepperdash Core/Comm/CommunicationStreamDebugging.cs b/src/Pepperdash Core/Net/CommunicationStreamDebugging.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/CommunicationStreamDebugging.cs
rename to src/Pepperdash Core/Net/CommunicationStreamDebugging.cs
diff --git a/src/Pepperdash Core/Comm/ControlPropertiesConfig.cs b/src/Pepperdash Core/Net/ControlPropertiesConfig.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/ControlPropertiesConfig.cs
rename to src/Pepperdash Core/Net/ControlPropertiesConfig.cs
diff --git a/src/Pepperdash Core/Comm/DynamicTCPServer.cs b/src/Pepperdash Core/Net/DynamicTCPServer.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/DynamicTCPServer.cs
rename to src/Pepperdash Core/Net/DynamicTCPServer.cs
diff --git a/src/Pepperdash Core/Comm/EventArgs.cs b/src/Pepperdash Core/Net/EventArgs.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/EventArgs.cs
rename to src/Pepperdash Core/Net/EventArgs.cs
index 0039264..9a53fe4 100644
--- a/src/Pepperdash Core/Comm/EventArgs.cs
+++ b/src/Pepperdash Core/Net/EventArgs.cs
@@ -9,6 +9,7 @@ of this material by another party without the express written permission of Pepp
PepperDash Technology Corporation reserves all rights under applicable laws.
------------------------------------ */
using Crestron.SimplSharp.CrestronSockets;
+using PepperDash.Core.Net.Interfaces;
using System;
namespace PepperDash.Core.Comm
diff --git a/src/Pepperdash Core/Comm/FINISH CommStatic.cs b/src/Pepperdash Core/Net/FINISH CommStatic.cs
similarity index 98%
rename from src/Pepperdash Core/Comm/FINISH CommStatic.cs
rename to src/Pepperdash Core/Net/FINISH CommStatic.cs
index 43dec7b..8941b64 100644
--- a/src/Pepperdash Core/Comm/FINISH CommStatic.cs
+++ b/src/Pepperdash Core/Net/FINISH CommStatic.cs
@@ -1,4 +1,5 @@
using Crestron.SimplSharp;
+using PepperDash.Core.Net.Interfaces;
using System.Collections.Generic;
using System.Linq;
diff --git a/src/Pepperdash Core/Net/GenericCommMethodReceiveBytesArgs.cs b/src/Pepperdash Core/Net/GenericCommMethodReceiveBytesArgs.cs
new file mode 100644
index 0000000..6ebe2d5
--- /dev/null
+++ b/src/Pepperdash Core/Net/GenericCommMethodReceiveBytesArgs.cs
@@ -0,0 +1,29 @@
+using System;
+
+namespace PepperDash.Core.Net
+{
+ ///
+ ///
+ ///
+ public class GenericCommMethodReceiveBytesArgs : EventArgs
+ {
+ ///
+ ///
+ ///
+ public byte[] Bytes { get; private set; }
+
+ ///
+ ///
+ ///
+ ///
+ public GenericCommMethodReceiveBytesArgs(byte[] bytes)
+ {
+ Bytes = bytes;
+ }
+
+ ///
+ /// S+ Constructor
+ ///
+ public GenericCommMethodReceiveBytesArgs() { }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/GenericCommMethodReceiveTextArgs.cs b/src/Pepperdash Core/Net/GenericCommMethodReceiveTextArgs.cs
new file mode 100644
index 0000000..7508a3a
--- /dev/null
+++ b/src/Pepperdash Core/Net/GenericCommMethodReceiveTextArgs.cs
@@ -0,0 +1,43 @@
+using System;
+
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ ///
+ ///
+ public class GenericCommMethodReceiveTextArgs : EventArgs
+ {
+ ///
+ ///
+ ///
+ public string Text { get; private set; }
+ ///
+ ///
+ ///
+ public string Delimiter { get; private set; }
+ ///
+ ///
+ ///
+ ///
+ public GenericCommMethodReceiveTextArgs(string text)
+ {
+ Text = text;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public GenericCommMethodReceiveTextArgs(string text, string delimiter)
+ : this(text)
+ {
+ Delimiter = delimiter;
+ }
+
+ ///
+ /// S+ Constructor
+ ///
+ public GenericCommMethodReceiveTextArgs() { }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Comm/GenericHttpSseClient.cs b/src/Pepperdash Core/Net/GenericHttpSseClient.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericHttpSseClient.cs
rename to src/Pepperdash Core/Net/GenericHttpSseClient.cs
index 3549900..d860cb0 100644
--- a/src/Pepperdash Core/Comm/GenericHttpSseClient.cs
+++ b/src/Pepperdash Core/Net/GenericHttpSseClient.cs
@@ -2,6 +2,8 @@
using Crestron.SimplSharp.CrestronIO;
using Crestron.SimplSharp.Net.Http;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericSecureTcpIpClient.cs b/src/Pepperdash Core/Net/GenericSecureTcpIpClient.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericSecureTcpIpClient.cs
rename to src/Pepperdash Core/Net/GenericSecureTcpIpClient.cs
index cf5cc0e..d8ab5c9 100644
--- a/src/Pepperdash Core/Comm/GenericSecureTcpIpClient.cs
+++ b/src/Pepperdash Core/Net/GenericSecureTcpIpClient.cs
@@ -1,6 +1,8 @@
using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Linq;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs b/src/Pepperdash Core/Net/GenericSecureTcpIpClient_ForServer.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs
rename to src/Pepperdash Core/Net/GenericSecureTcpIpClient_ForServer.cs
index 1fe4937..a05183b 100644
--- a/src/Pepperdash Core/Comm/GenericSecureTcpIpClient_ForServer.cs
+++ b/src/Pepperdash Core/Net/GenericSecureTcpIpClient_ForServer.cs
@@ -13,6 +13,7 @@ PepperDash Technology Corporation reserves all rights under applicable laws.
using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Linq;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs b/src/Pepperdash Core/Net/GenericSecureTcpIpServer.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs
rename to src/Pepperdash Core/Net/GenericSecureTcpIpServer.cs
diff --git a/src/Pepperdash Core/Comm/GenericSshClient.cs b/src/Pepperdash Core/Net/GenericSshClient.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericSshClient.cs
rename to src/Pepperdash Core/Net/GenericSshClient.cs
index e11ed2d..f3fe763 100644
--- a/src/Pepperdash Core/Comm/GenericSshClient.cs
+++ b/src/Pepperdash Core/Net/GenericSshClient.cs
@@ -3,6 +3,8 @@ using Crestron.SimplSharp.CrestronSockets;
using Crestron.SimplSharp.Ssh;
using Crestron.SimplSharp.Ssh.Common;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericTcpIpClient.cs b/src/Pepperdash Core/Net/GenericTcpIpClient.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericTcpIpClient.cs
rename to src/Pepperdash Core/Net/GenericTcpIpClient.cs
index a4bddf9..ec4220e 100644
--- a/src/Pepperdash Core/Comm/GenericTcpIpClient.cs
+++ b/src/Pepperdash Core/Net/GenericTcpIpClient.cs
@@ -3,6 +3,8 @@ using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets;
using Newtonsoft.Json;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Linq;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs b/src/Pepperdash Core/Net/GenericTcpIpClient_ForServer.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs
rename to src/Pepperdash Core/Net/GenericTcpIpClient_ForServer.cs
index 81e4bcf..449f7c8 100644
--- a/src/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs
+++ b/src/Pepperdash Core/Net/GenericTcpIpClient_ForServer.cs
@@ -13,6 +13,7 @@ PepperDash Technology Corporation reserves all rights under applicable laws.
using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Linq;
using System.Text;
diff --git a/src/Pepperdash Core/Comm/GenericTcpIpServer.cs b/src/Pepperdash Core/Net/GenericTcpIpServer.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/GenericTcpIpServer.cs
rename to src/Pepperdash Core/Net/GenericTcpIpServer.cs
diff --git a/src/Pepperdash Core/Comm/GenericUdpServer.cs b/src/Pepperdash Core/Net/GenericUdpServer.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/GenericUdpServer.cs
rename to src/Pepperdash Core/Net/GenericUdpServer.cs
index 5a7af34..81bd040 100644
--- a/src/Pepperdash Core/Comm/GenericUdpServer.cs
+++ b/src/Pepperdash Core/Net/GenericUdpServer.cs
@@ -3,6 +3,8 @@ using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets;
using Newtonsoft.Json;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net;
+using PepperDash.Core.Net.Interfaces;
using System;
using System.Linq;
using System.Text;
diff --git a/src/Pepperdash Core/Net/Interfaces/IAutoReconnect.cs b/src/Pepperdash Core/Net/Interfaces/IAutoReconnect.cs
new file mode 100644
index 0000000..7c09ecb
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/IAutoReconnect.cs
@@ -0,0 +1,17 @@
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// Describes a device that can automatically attempt to reconnect
+ ///
+ public interface IAutoReconnect
+ {
+ ///
+ /// Enable automatic recconnect
+ ///
+ bool AutoReconnect { get; set; }
+ ///
+ /// Interval in ms to attempt automatic recconnections
+ ///
+ int AutoReconnectIntervalMs { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/IBasicCommunication.cs b/src/Pepperdash Core/Net/Interfaces/IBasicCommunication.cs
new file mode 100644
index 0000000..df74431
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/IBasicCommunication.cs
@@ -0,0 +1,27 @@
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// This delegate defines handler for IBasicCommunication status changes
+ ///
+ /// Device firing the status change
+ ///
+ public delegate void GenericCommMethodStatusHandler(IBasicCommunication comm, eGenericCommMethodStatusChangeType status);
+
+ ///
+ /// Represents a device that uses basic connection
+ ///
+ public interface IBasicCommunication : ICommunicationReceiver
+ {
+ ///
+ /// Send text to the device
+ ///
+ ///
+ void SendText(string text);
+
+ ///
+ /// Send bytes to the device
+ ///
+ ///
+ void SendBytes(byte[] bytes);
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/IBasicCommunicationWithStreamDebugging.cs b/src/Pepperdash Core/Net/Interfaces/IBasicCommunicationWithStreamDebugging.cs
new file mode 100644
index 0000000..53451a5
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/IBasicCommunicationWithStreamDebugging.cs
@@ -0,0 +1,10 @@
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// Represents a device that implements IBasicCommunication and IStreamDebugging
+ ///
+ public interface IBasicCommunicationWithStreamDebugging : IBasicCommunication, IStreamDebugging
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/ICommunicationReceiver.cs b/src/Pepperdash Core/Net/Interfaces/ICommunicationReceiver.cs
new file mode 100644
index 0000000..cc6ed2d
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/ICommunicationReceiver.cs
@@ -0,0 +1,33 @@
+using PepperDash.Core.Interfaces;
+using System;
+
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// An incoming communication stream
+ ///
+ public interface ICommunicationReceiver : IKeyed
+ {
+ ///
+ /// Notifies of bytes received
+ ///
+ event EventHandler BytesReceived;
+ ///
+ /// Notifies of text received
+ ///
+ event EventHandler TextReceived;
+
+ ///
+ /// Indicates connection status
+ ///
+ bool IsConnected { get; }
+ ///
+ /// Connect to the device
+ ///
+ void Connect();
+ ///
+ /// Disconnect from the device
+ ///
+ void Disconnect();
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/ISocketStatus.cs b/src/Pepperdash Core/Net/Interfaces/ISocketStatus.cs
new file mode 100644
index 0000000..b418539
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/ISocketStatus.cs
@@ -0,0 +1,24 @@
+
+using Crestron.SimplSharp.CrestronSockets;
+using PepperDash.Core.Comm;
+using System;
+
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// For IBasicCommunication classes that have SocketStatus. GenericSshClient,
+ /// GenericTcpIpClient
+ ///
+ public interface ISocketStatus : IBasicCommunication
+ {
+ ///
+ /// Notifies of socket status changes
+ ///
+ event EventHandler ConnectionChange;
+
+ ///
+ /// The current socket status of the client
+ ///
+ SocketStatus ClientStatus { get; }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/ISocketStatusWithStreamDebugging.cs b/src/Pepperdash Core/Net/Interfaces/ISocketStatusWithStreamDebugging.cs
new file mode 100644
index 0000000..cb91264
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/ISocketStatusWithStreamDebugging.cs
@@ -0,0 +1,10 @@
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// Describes a device that implements ISocketStatus and IStreamDebugging
+ ///
+ public interface ISocketStatusWithStreamDebugging : ISocketStatus, IStreamDebugging
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/IStreamDebugging.cs b/src/Pepperdash Core/Net/Interfaces/IStreamDebugging.cs
new file mode 100644
index 0000000..0ff934e
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/IStreamDebugging.cs
@@ -0,0 +1,15 @@
+using PepperDash.Core.Comm;
+
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ /// Represents a device with stream debugging capablities
+ ///
+ public interface IStreamDebugging
+ {
+ ///
+ /// Object to enable stream debugging
+ ///
+ CommunicationStreamDebugging StreamDebugging { get; }
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Net/Interfaces/eGenericCommMethodStatusChangeType.cs b/src/Pepperdash Core/Net/Interfaces/eGenericCommMethodStatusChangeType.cs
new file mode 100644
index 0000000..d11f788
--- /dev/null
+++ b/src/Pepperdash Core/Net/Interfaces/eGenericCommMethodStatusChangeType.cs
@@ -0,0 +1,17 @@
+namespace PepperDash.Core.Net.Interfaces
+{
+ ///
+ ///
+ ///
+ public enum eGenericCommMethodStatusChangeType
+ {
+ ///
+ /// Connected
+ ///
+ Connected,
+ ///
+ /// Disconnected
+ ///
+ Disconnected
+ }
+}
\ No newline at end of file
diff --git a/src/Pepperdash Core/Comm/QscCoreDoubleTcpIpClient.cs b/src/Pepperdash Core/Net/QscCoreDoubleTcpIpClient.cs
similarity index 99%
rename from src/Pepperdash Core/Comm/QscCoreDoubleTcpIpClient.cs
rename to src/Pepperdash Core/Net/QscCoreDoubleTcpIpClient.cs
index 6ea6076..ce37cb8 100644
--- a/src/Pepperdash Core/Comm/QscCoreDoubleTcpIpClient.cs
+++ b/src/Pepperdash Core/Net/QscCoreDoubleTcpIpClient.cs
@@ -1,6 +1,7 @@
using Crestron.SimplSharp;
using PepperDash.Core.Interfaces;
using PepperDash.Core.Logging;
+using PepperDash.Core.Net.Interfaces;
using System;
namespace PepperDash.Core.Comm
diff --git a/src/Pepperdash Core/Comm/TcpClientConfigObject.cs b/src/Pepperdash Core/Net/TcpClientConfigObject.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/TcpClientConfigObject.cs
rename to src/Pepperdash Core/Net/TcpClientConfigObject.cs
diff --git a/src/Pepperdash Core/Comm/TcpServerConfigObject.cs b/src/Pepperdash Core/Net/TcpServerConfigObject.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/TcpServerConfigObject.cs
rename to src/Pepperdash Core/Net/TcpServerConfigObject.cs
diff --git a/src/Pepperdash Core/Comm/eControlMethods.cs b/src/Pepperdash Core/Net/eControlMethods.cs
similarity index 100%
rename from src/Pepperdash Core/Comm/eControlMethods.cs
rename to src/Pepperdash Core/Net/eControlMethods.cs
diff --git a/src/Pepperdash Core/PepperDash.Core.csproj b/src/Pepperdash Core/PepperDash.Core.csproj
index 78b17a2..f450942 100644
--- a/src/Pepperdash Core/PepperDash.Core.csproj
+++ b/src/Pepperdash Core/PepperDash.Core.csproj
@@ -36,9 +36,9 @@
-
-
-
+
+
+