SSDP Namespace Reference

Classes

class  BaseMessage
 class template for messages More...
 
class  BasicMessage
 Handles incoming messages. More...
 
class  Message
 Message using regular HTTP header management class. More...
 
class  MessageQueue
 Queue of objects managed by a single timer. More...
 
class  MessageSpec
 Defines the information used to create an outgoing message. More...
 
class  Server
 Listens for incoming messages and manages queue of outgoing messages. More...
 

Typedefs

using MessageDelegate = Delegate< void(MessageSpec *ms)>
 A callback function must be provided to do the actual sending. More...
 
using ReceiveDelegate = Delegate< void(BasicMessage &message)>
 Callback type for handling an incoming message. More...
 
using SendDelegate = Delegate< void(Message &msg, MessageSpec &ms)>
 Callback type for sending outgoing message. More...
 

Enumerations

enum class  MessageType { XX }
 
enum class  NotifySubtype { XX , OTHER }
 SSDP Notification subtype. More...
 
enum class  SearchTarget { root , type , uuid , all }
 SSDP Search target types. More...
 
enum class  SearchMatch { root , uuid , type }
 Determines the kind of match obtained when scanning incoming packets. More...
 

Functions

static const IpAddress multicastIp (239, 255, 255, 250)
 
 DECLARE_FSTR (SSDP_DISCOVER)
 
 DECLARE_FSTR (UPNP_ROOTDEVICE)
 
 DECLARE_FSTR (SSDP_ALL)
 
NotifySubtype getNotifySubtype (const char *subtype)
 
 DECLARE_FSTR (defaultProductNameAndVersion)
 
String getServerId (const String &productNameAndVersion)
 

Variables

static constexpr uint16_t multicastPort = 1900
 
Server server
 

Typedef Documentation

◆ MessageDelegate

using SSDP::MessageDelegate = typedef Delegate<void(MessageSpec* ms)>

A callback function must be provided to do the actual sending.

Parameters
msMessage spec. to action, must delete when finished with it

◆ ReceiveDelegate

using SSDP::ReceiveDelegate = typedef Delegate<void(BasicMessage& message)>

Callback type for handling an incoming message.

◆ SendDelegate

using SSDP::SendDelegate = typedef Delegate<void(Message& msg, MessageSpec& ms)>

Callback type for sending outgoing message.

Parameters
msgMessage with standard fields completed
msParameters for constructing message
Note
The message spec. is provided by the UPnP Device Host, which then gets called back to construct the message content. It then calls sendMessage().

Enumeration Type Documentation

◆ MessageType

enum SSDP::MessageType
strong
Enumerator
XX 

◆ NotifySubtype

enum SSDP::NotifySubtype
strong

SSDP Notification subtype.

Enumerator
XX 
OTHER 

◆ SearchMatch

enum SSDP::SearchMatch
strong

Determines the kind of match obtained when scanning incoming packets.

Enumerator
root 

Matched root device.

uuid 

Matched with device UUID.

type 

Matched device or service type.

◆ SearchTarget

enum SSDP::SearchTarget
strong

SSDP Search target types.

Enumerator
root 

Root devices only: upnp:rootdevice

type 

or urn:{domain}:service:{serviceType}:{v}

Search for device/service type: urn:{domain}:device:{deviceType}:{v}

uuid 

Search for specific device: uuid:{device-UUID}

all 

All devices and services: ssdp::all

Function Documentation

◆ DECLARE_FSTR() [1/4]

SSDP::DECLARE_FSTR ( defaultProductNameAndVersion  )

◆ DECLARE_FSTR() [2/4]

SSDP::DECLARE_FSTR ( SSDP_ALL  )

◆ DECLARE_FSTR() [3/4]

SSDP::DECLARE_FSTR ( SSDP_DISCOVER  )

◆ DECLARE_FSTR() [4/4]

SSDP::DECLARE_FSTR ( UPNP_ROOTDEVICE  )

◆ getNotifySubtype()

NotifySubtype SSDP::getNotifySubtype ( const char *  subtype)

◆ getServerId()

String SSDP::getServerId ( const String productNameAndVersion)

◆ multicastIp()

static const IpAddress SSDP::multicastIp ( 239  ,
255  ,
255  ,
250   
)
static

Variable Documentation

◆ multicastPort

constexpr uint16_t SSDP::multicastPort = 1900
staticconstexpr

◆ server

Server SSDP::server
extern