diff --git a/CLZ Builds/PepperDash_Core.clz b/CLZ Builds/PepperDash_Core.clz
index 9e60219..57de2cc 100644
Binary files a/CLZ Builds/PepperDash_Core.clz and b/CLZ Builds/PepperDash_Core.clz differ
diff --git a/CLZ Builds/PepperDash_Core.dll b/CLZ Builds/PepperDash_Core.dll
index 63c9a8f..14b07ee 100644
Binary files a/CLZ Builds/PepperDash_Core.dll and b/CLZ Builds/PepperDash_Core.dll differ
diff --git a/CLZ Builds/PepperDash_Core.xml b/CLZ Builds/PepperDash_Core.xml
new file mode 100644
index 0000000..44e8d98
--- /dev/null
+++ b/CLZ Builds/PepperDash_Core.xml
@@ -0,0 +1,2137 @@
+
+
+
+ PepperDash_Core
+
+
+
+
+ An embedded JsonToSimpl master object.
+
+
+
+
+ SIMPL+ can only execute the default constructor. If you have variables that require initialization, please
+ use an Initialize method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After save operation on JSON master happens, send it to server
+
+
+
+
+
+ The core event and status-bearing class that most if not all device and connectors can derive from.
+
+
+
+
+ Base constructor for all Devices.
+
+
+
+
+
+ Gets this device ready to be used in the system. Runs any added pre-activation items, and
+ all post-activation at end. Classes needing additional logic to
+ run should override CustomActivate()
+
+
+
+
+ Called in between Pre and PostActivationActions when Activate() is called.
+ Override to provide addtitional setup when calling activation. Overriding classes
+ do not need to call base.CustomActivate()
+
+ true if device activated successfully.
+
+
+
+ Call to deactivate device - unlink events, etc. Overriding classes do not
+ need to call base.Deactivate()
+
+
+
+
+
+ Helper method to check object for bool value false and fire an Action method
+
+ Should be of type bool, others will be ignored
+ Action to be run when o is false
+
+
+
+
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listeneing
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ 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
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Sets up class - overriding methods should always call this.
+
+
+
+
+
+ Adds a child "module" to this master
+
+
+
+
+
+ Called from the child to add changed or new values for saving
+
+
+
+ Events *
+
+
+
+ Mirrors the Unique ID for now.
+
+
+
+
+ Merely for use in debug messages
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+ Enables debugging output to the console. Certain error messages will be logged to the
+ system's error log regardless of this setting
+
+
+
+
+ Ushort helper for Debug property
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+ Call this before doing anything else
+
+
+
+
+
+
+
+
+ Set the JPath to evaluate for a given bool out index.
+
+
+
+
+ Set the JPath for a ushort out index.
+
+
+
+
+ Set the JPath for a string output index.
+
+
+
+
+ Evalutates all outputs with defined paths. called by S+ when paths are ready to process
+ and by Master when file is read.
+
+
+
+
+ Processes a bool property, converting to bool, firing off a BoolChange event
+
+
+
+
+ Processes the given path.
+
+ JPath formatted path to the desired property
+ The string value of the property, or a default value if it
+ doesn't exist
+ This will return false in the case that EvaulateAllOnJsonChange
+ is false and the path does not evaluate to a property in the incoming JSON.
+
+
+
+ Called from Master to read inputs and update their values in master JObject
+ Callback should hit one of the following four methods
+
+
+
+
+ Called during Process(...) to get the path to a given property. By default,
+ returns PathPrefix+path+PathSuffix. Override to change the way path is built.
+
+
+
+
+ Use a callback to reduce task switch/threading
+
+
+
+
+ This will be prepended to all paths to allow path swapping or for more organized
+ sub-paths
+
+
+
+
+ This is added to the end of all paths
+
+
+
+
+
+
+
+
+
+ Defaults to Environment.NewLine;
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ 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
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
+ An incoming communication stream
+
+
+
+
+ Represents a device that uses basic connection
+
+
+
+
+ For IBasicCommunication classes that have SocketStatus. GenericSshClient,
+ GenericTcpIpClient
+
+
+
+
+
+
+
+
+
+ This delegate defines handler for IBasicCommunication status changes
+
+ Device firing the status change
+
+
+
+
+
+
+
+
+
+ Stupid S+ Constructor
+
+
+
+
+
+
+
+
+
+ Stupid S+ Constructor
+
+
+
+
+
+
+
+
+
+
+ Gets a level or creates it if not existing
+
+
+
+
+
+
+ Adds a file master. If the master's key or filename is equivalent to any existing
+ master, this will fail
+
+ New master to add
+
+
+
+
+ Gets a master by its key. Case-insensitive
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Loads in JSON and triggers evaluation on all children
+
+
+
+
+
+ Loads JSON into JsonObject, but does not trigger evaluation by children
+
+
+
+
+
+
+
+
+
+
+ This is something of a band-aid callback. If the client times out during the connection process, because the server
+ is stuck, this will fire. It is intended to be used by the Server class monitor client, to help
+ keep a watch on the server and reset it if necessary.
+
+
+
+
+ Semaphore on connect method
+
+
+
+
+ Flag Set only when the disconnect method is called.
+
+
+
+
+ private Timer for auto reconnect
+
+
+
+
+ Used to force disconnection on a dead connect attempt
+
+
+
+
+ Internal secure client
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect Method. Will return if already connected. Will write errors if missing address, port, or unique key/name.
+
+
+
+
+
+
+
+
+
+ Internal call to close up client. ALWAYS use this when disconnecting.
+
+
+
+ ff
+ Called from Connect failure or Socket Status change if
+ auto reconnect and socket disconnected (Not disconnected by user)
+
+
+
+
+ Receive callback
+
+
+
+
+
+
+
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+ SocketStatusChange Callback
+
+
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+ Helper to fire ClientReadyForCommunications event
+
+
+
+
+ For a client with a pre shared key, this will fire after the communication is established and the key exchange is complete. If you require
+ a key and subscribe to the socket change event and try to send data on a connection the data sent will interfere with the key exchange and disconnect.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ S+ helper
+
+
+
+
+ Bool to show whether the server requires a preshared key. This is used in the DynamicTCPServer class
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ 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
+
+
+
+
+ flag to show the client is waiting for the server to send the shared key
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is ready for communication after shared key exchange
+
+
+
+
+ S+ helper for IsReadyForCommunication
+
+
+
+
+ Client socket status Read only
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected would be true when this == 2.
+
+
+
+
+ Status text shows the message associated with socket status
+
+
+
+
+ bool to track if auto reconnect should be set on the socket
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+ Band aid delegate for choked server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ True when user is found
+
+
+
+
+ For stupid S+
+
+
+
+
+
+
+
+
+
+
+ For newer >=2.4.1 array lookups.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the path append for GetFullPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores the state of the request
+
+
+
+
+ Waithandle for main thread.
+
+
+
+
+
+
+
+
+
+ For Simpl+
+
+
+
+
+ True when the preset is found
+
+
+
+
+ S+ helper for stupid S+
+
+
+
+
+ Set only when the disconnect method is called.
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ General send method
+
+
+
+
+ This is useful from console and...?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Defaults to 2000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected with be true when this == 2.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Milliseconds to wait before attempting to reconnect. Defaults to 5000
+
+
+
+
+
+
+
+
+
+ Defaults to 32768
+
+
+
+
+ Defaults to true
+
+
+
+
+ Defaults to 5000ms
+
+
+
+
+ Creates or gets a debug context
+
+
+
+
+
+
+ Do not use. For S+ access.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Appends a device Key to the beginning of a message
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ Defines the string event handler for line events on the gather
+
+
+
+
+
+ Attaches to IBasicCommunication as a text gather
+
+
+
+
+ For receive buffer
+
+
+
+
+ Delimiter, like it says!
+
+
+
+
+ Fires up a gather, given a IBasicCommunicaion port and char for de
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disconnects this gather from the Port's TextReceived event. This will not fire LineReceived
+ after the this call.
+
+
+
+
+ Handler for raw data coming from port
+
+
+
+
+
+
+
+
+
+
+
+ Deconstructor. Disconnects from port TextReceived events.
+
+
+
+
+ Event that fires when a line is received from the IBasicCommunication source.
+ The event merely contains the text, not an EventArgs type class.
+
+
+
+
+ The communication port that this gathers on
+
+
+
+
+ Default false. If true, the delimiter will be included in the line output
+ events
+
+
+
+ Privates *
+
+
+
+ SIMPL+ default constructor.
+
+
+
+
+ Read, evaluate and udpate status
+
+
+
+
+ Returns the FileInfo object for a given path, with possible wildcards
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the filepath as well as registers this with the Global.Masters list
+
+
+
+
+
+
+
+
+
+ A bandaid client that monitors whether the server is reachable
+
+
+
+
+ Timer to operate the bandaid monitor client in a loop.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ constructor S+ Does not accept a key. Use initialze with key to set the debug key on this device. If using with + make sure to set all properties manually.
+
+
+
+
+ constructor with debug key set at instantiation. Make sure to set all properties before listening.
+
+
+
+
+
+ Contstructor that sets all properties by calling the initialize method with a config object.
+
+
+
+
+
+ Disconnects all clients and stops the server
+
+
+
+
+ Initialize Key for device using client name from SIMPL+. Called on Listen from SIMPL+
+
+
+
+
+
+ Start listening on the specified port
+
+
+
+
+ Stop Listeneing
+
+
+
+
+ Disconnects Client
+
+
+
+
+
+ Disconnect All Clients
+
+
+
+
+ Broadcast text from server to all connected clients
+
+
+
+
+
+ Not sure this is useful in library, maybe Pro??
+
+
+
+
+
+
+ Secure Server Socket Status Changed Callback
+
+
+
+
+
+
+
+ Secure TCP Client Connected to Secure Server Callback
+
+
+
+
+
+
+ Secure Received Data Async Callback
+
+
+
+
+
+
+
+ Private Event Handler method to handle the closing of connections when the program stops
+
+
+
+
+
+ Starts the monitor client cycle. Timed wait, then call RunMonitorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ On monitor connect, restart the operation
+
+
+
+
+ If the client hangs, add to counter and maybe fire the choke event
+
+
+
+
+ Event for Receiving text
+
+
+
+
+ Event for client connection socket status change
+
+
+
+
+ Event for Server State Change
+
+
+
+
+ For a server with a pre shared key, this will fire after the communication is established and the key exchange is complete. If no shared key, this will fire
+ after connection is successful. Use this event to know when the client is ready for communication to avoid stepping on shared key.
+
+
+
+
+ A band aid event to notify user that the server has choked.
+
+
+
+
+ 3 by default
+
+
+
+
+ Text representation of the Socket Status enum values for the server
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Bool showing if socket is connected
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+ Number of clients currently connected.
+
+
+
+
+ Port Server should listen on
+
+
+
+
+ S+ helper for Port
+
+
+
+
+ Bool to show whether the server requires a preshared key. Must be set the same in the client, and if true shared keys must be identical on server/client
+
+
+
+
+ S+ helper for requires shared key bool
+
+
+
+
+ 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
+
+
+
+
+ Heartbeat Required bool sets whether server disconnects client if heartbeat is not received
+
+
+
+
+ S+ Helper for Heartbeat Required
+
+
+
+
+ Milliseconds before server expects another heartbeat. Set by property HeartbeatRequiredIntervalInSeconds which is driven from S+
+
+
+
+
+ Simpl+ Heartbeat Analog value in seconds
+
+
+
+
+ String to Match for heartbeat. If null or empty any string will reset heartbeat timer
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Private flag to note that the server has stopped intentionally
+
+
+
+
+ Describes the folder location where a given program stores it's debug level memory. By default, the
+ file written will be named appNdebug where N is 1-10.
+
+
+
+
+ The name of the file containing the current debug settings.
+
+
+
+
+ When true, the IncludedExcludedKeys dict will contain keys to include.
+ When false (default), IncludedExcludedKeys will contain keys to exclude.
+
+
+
+
+ Used to save memory when shutting down
+
+
+
+
+
+ Callback for console command
+
+
+
+
+
+ Sets the debug level
+
+ Valid values 0 (no debug), 1 (critical), 2 (all messages)
+
+
+
+
+
+
+
+
+ Prints message to console if current debug level is equal to or higher than the level of this message.
+ Uses CrestronConsole.PrintLine.
+
+
+ Console format string
+ Object parameters
+
+
+
+ Logs to Console when at-level, and all messages to error log, including device key
+
+
+
+
+ Logs to Console when at-level, and all messages to error log
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+
+
+
+
+ Logs to both console and the custom user log (not the built-in error log). If appdebug level is set at
+ or above the level provided, then the output will be written to both console and the log. Otherwise
+ it will only be written to the log.
+
+
+
+ String.format string
+ Parameters for substitution in the format string.
+
+
+
+ Prints to log and error log
+
+
+
+
+
+
+ Writes the memory object after timeout
+
+
+
+
+ Writes the memory - use SaveMemoryOnTimeout
+
+
+
+
+
+
+
+
+
+ Helper to get the file path for this app's debug memory
+
+
+
+
+ Reads the config file, checks if it needs a merge, merges and saves, then returns the merged Object.
+
+ JObject of config file
+
+
+
+
+
+
+
+
+
+
+ Merges the contents of a base and a delta array, matching the entries on a top-level property
+ given by propertyName. Returns a merge of them. Items in the delta array that do not have
+ a matched item in base array will not be merged. Non keyed system items will replace the template items.
+
+
+
+
+ Helper for using with JTokens. Converts to JObject
+
+
+
+
+ Merge o2 onto o1
+
+
+
+
+
+
+ Queue to temporarily store received messages with the source IP and Port info
+
+
+
+
+ Enables the UDP Server
+
+
+
+
+ Disabled the UDP Server
+
+
+
+
+ Recursive method to receive data
+
+
+
+
+
+
+ This method gets spooled up in its own thread an protected by a CCriticalSection to prevent multiple threads from running concurrently.
+ It will dequeue items as they are enqueued automatically.
+
+
+
+
+ General send method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This event will fire when a message is dequeued that includes the source IP and Port info if needed to determine the source of the received data.
+
+
+
+
+
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Another damn S+ helper because S+ seems to treat large port nums as signed ints
+ which screws up things
+
+
+
+
+ Indicates that the UDP Server is enabled
+
+
+
+
+ Defaults to 2000
+
+
+
+
+ Stupid S+ Constructor
+
+
+
+
+ Defaults to 32768
+
+
+
+
+
+
+
+
+
+ Typical constructor.
+
+
+
+
+ S+ Constructor - Must set all properties before calling Connect
+
+
+
+
+ Just to help S+ set the key
+
+
+
+
+ Handles closing this up when the program shuts down
+
+
+
+
+ Connect to the server, using the provided properties.
+
+
+
+
+ Disconnect the clients and put away it's resources.
+
+
+
+
+ Anything to do with reestablishing connection on failures
+
+
+
+
+ Handles the keyboard interactive authentication, should it be required.
+
+
+
+
+ Handler for data receive on ShellStream. Passes data across to queue for line parsing.
+
+
+
+
+ Error event handler for client events - disconnect, etc. Will forward those events via ConnectionChange
+ event
+
+
+
+
+ Helper for ConnectionChange event
+
+
+
+
+
+
+
+
+
+
+ Event that fires when data is received. Delivers args with byte array
+
+
+
+
+ Event that fires when data is received. Delivered as text.
+
+
+
+
+ Event when the connection status changes.
+
+
+
+
+ Address of server
+
+
+
+
+ Port on server
+
+
+
+
+ Username for server
+
+
+
+
+ And... Password for server. That was worth documenting!
+
+
+
+
+ True when the server is connected - when status == 2.
+
+
+
+
+ S+ helper for IsConnected
+
+
+
+
+
+
+
+
+
+ Contains the familiar Simpl analog status values. This drives the ConnectionChange event
+ and IsConnected with be true when this == 2.
+
+
+
+
+ Determines whether client will attempt reconnection on failure. Default is true
+
+
+
+
+ Will be set and unset by connect and disconnect only
+
+
+
+
+ S+ helper for AutoReconnect
+
+
+
+
+ Millisecond value, determines the timeout period in between reconnect attempts.
+ Set to 5000 by default
+
+
+
+
+ Fired when connection changes
+
+
+
+
+ Background class that manages debug features for sockets
+
+
+
+
+ Sets up the backing class. Adds console commands for S#Pro programs
+
+
+
+
+ Helper for socket list, to show types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
index 8a033a2..548590e 100644
--- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
+++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
@@ -42,6 +42,7 @@
512
true
true
+ bin\PepperDash_Core.xml
diff --git a/Pepperdash Core/Pepperdash Core/Properties/AssemblyInfo.cs b/Pepperdash Core/Pepperdash Core/Properties/AssemblyInfo.cs
index 63fe3d0..509f8ee 100644
--- a/Pepperdash Core/Pepperdash Core/Properties/AssemblyInfo.cs
+++ b/Pepperdash Core/Pepperdash Core/Properties/AssemblyInfo.cs
@@ -4,4 +4,4 @@
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Pepperdash_Core")]
[assembly: AssemblyCopyright("Copyright © PepperDash 2019")]
-[assembly: AssemblyVersion("1.0.21.*")]
+[assembly: AssemblyVersion("1.0.22.*")]