SSDP Server - working version provides SSDP based network discovery, and with a companion web server, may provide other functionalities.

Dependents:   X10Svr SSDP_Server

Revision:
1:def15d0b2fae
Parent:
0:f782e7bc66ad
Child:
2:3d6d70556fca
--- a/SSDP.h	Tue Jul 03 00:16:45 2018 +0000
+++ b/SSDP.h	Tue Jul 03 00:46:34 2018 +0000
@@ -6,10 +6,18 @@
 #include "rtos.h"
 
 
-/// Configuration data for the SSDP server
+/// Configuration data for the SSDP server.
+///
+/// When internal to the SSDP server, it will manage the memory (dynamic allocations
+/// and free).
+///
+/// When an instance of this structure is passed to the SSDP constructor, it is
+/// up to the caller to ensure that the data being pointed to is persistent, where
+/// it should be. The 'name' is one field that could be changed at runtime, in 
+/// order to reflect the name change to the network.
 ///
 typedef struct {
-    char * name;        ///< pointer to the friendly name, storage managed here
+    char * name;        ///< pointer to the friendly name
     char * ident;       ///< pointer to a unique identity number, like a mac address
     char * ipAddr;      ///< pointer to the node IP address
     int port;           ///< port number of the local server
@@ -63,6 +71,9 @@
     ///             - pointer to the const char * IP Address of this node
     ///             - port number for the web server 
     ///
+    /// @note the items being pointed to in this structure must be persistent. Only
+    ///         the friendly name can change at runtime.
+    ///
     SSDP(const SSDP_Config_T * config);
     
     /// Destructor