Arduino DLNA Server
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tiny_dlna::IControlPoint Class Referenceabstract

Abstract interface for DLNA Control Point functionality. More...

#include <IControlPoint.h>

Inheritance diagram for tiny_dlna::IControlPoint:
Inheritance graph
[legend]

Public Member Functions

virtual ~IControlPoint ()=default
 
virtual void setParseDevice (bool flag)=0
 Enable/disable parsing of device descriptions during discovery.
 
virtual void setLocalURL (Url url)=0
 Set the local callback URL for event subscriptions.
 
virtual void setLocalURL (IPAddress url, int port=9001, const char *path="")=0
 Set the local callback URL for event subscriptions.
 
virtual void setSearchRepeatMs (int repeatMs)=0
 Set the repeat interval for M-SEARCH requests.
 
virtual void setReference (void *ref)=0
 Set user reference pointer for callbacks.
 
virtual void setDeviceIndex (int idx)=0
 Set index of device to operate on.
 
virtual void setEventSubscriptionCallback (std::function< void(const char *sid, const char *varName, const char *newValue, void *reference)> cb, void *ref=nullptr)=0
 Set callback for event subscription notifications.
 
virtual void setHttpServer (IHttpServer &server)=0
 Set HTTP server for handling event callbacks.
 
virtual void onResultNode (std::function< void(const char *nodeName, const char *text, const char *attributes)> cb)=0
 Set callback for processing XML result nodes.
 
virtual bool begin (const char *searchTarget="ssdp:all", uint32_t minWaitMs=3000, uint32_t maxWaitMs=60000)=0
 Start discovery with default HTTP/UDP services.
 
virtual bool begin (IHttpRequest &http, IUDPService &udp, const char *searchTarget="ssdp:all", uint32_t minWaitMs=3000, uint32_t maxWaitMs=60000)=0
 Start discovery with provided HTTP/UDP services.
 
virtual void end ()=0
 Stop discovery and cleanup resources.
 
virtual ActionRequestaddAction (ActionRequest act)=0
 Queue an action for execution.
 
virtual ActionReplyexecuteActions (XMLCallback xmlProcessor=nullptr)=0
 Execute queued actions and process responses.
 
virtual bool loop ()=0
 Process discovery loop and handle events.
 
virtual DLNAServiceInfogetService (const char *id)=0
 Get service by ID from discovered devices.
 
virtual DLNADeviceInfogetDevice ()=0
 Get current device (by index)
 
virtual DLNADeviceInfogetDevice (int idx)=0
 Get device by index.
 
virtual DLNADeviceInfogetDevice (DLNAServiceInfo &service)=0
 Get device containing the specified service.
 
virtual DLNADeviceInfogetDevice (Url location)=0
 Get device by location URL.
 
virtual Vector< DLNADeviceInfo > & getDevices ()=0
 Get list of all discovered devices.
 
virtual const char * getUrl (DLNADeviceInfo &device, const char *suffix, char *buffer, int len)=0
 Build URL for device service endpoint.
 
virtual bool addDevice (DLNADeviceInfo dev)=0
 Manually add a device to the list.
 
virtual bool addDevice (Url url)=0
 Add device by discovery URL.
 
virtual void setActive (bool flag)=0
 Set active state for processing.
 
virtual bool isActive ()=0
 Check if control point is active.
 
virtual void setAllowLocalhost (bool flag)=0
 Allow localhost devices in discovery.
 
virtual ActionReplygetLastReply ()=0
 Get last action reply.
 
virtual SubscriptionMgrControlPointgetSubscriptionMgr ()=0
 Get subscription manager for event handling.
 
virtual void setSubscribeNotificationsActive (bool flag)=0
 Enable/disable event subscription notifications.
 
virtual const char * registerString (const char *s)=0
 Register string for memory management.
 

Detailed Description

Abstract interface for DLNA Control Point functionality.

Defines the contract for implementing a DLNA Control Point that discovers, manages, and controls DLNA devices on the network. Provides methods for device discovery, service interaction, action execution, and event subscription.

Implementations should handle SSDP discovery, SOAP action invocation, and UPnP event subscription management.

Constructor & Destructor Documentation

◆ ~IControlPoint()

virtual tiny_dlna::IControlPoint::~IControlPoint ( )
virtualdefault

Member Function Documentation

◆ addAction()

virtual ActionRequest & tiny_dlna::IControlPoint::addAction ( ActionRequest  act)
pure virtual

Queue an action for execution.

Implemented in tiny_dlna::DLNAControlPoint.

◆ addDevice() [1/2]

virtual bool tiny_dlna::IControlPoint::addDevice ( DLNADeviceInfo  dev)
pure virtual

Manually add a device to the list.

Implemented in tiny_dlna::DLNAControlPoint.

◆ addDevice() [2/2]

virtual bool tiny_dlna::IControlPoint::addDevice ( Url  url)
pure virtual

Add device by discovery URL.

Implemented in tiny_dlna::DLNAControlPoint.

◆ begin() [1/2]

virtual bool tiny_dlna::IControlPoint::begin ( const char *  searchTarget = "ssdp:all",
uint32_t  minWaitMs = 3000,
uint32_t  maxWaitMs = 60000 
)
pure virtual

Start discovery with default HTTP/UDP services.

Implemented in tiny_dlna::DLNAControlPoint.

◆ begin() [2/2]

virtual bool tiny_dlna::IControlPoint::begin ( IHttpRequest http,
IUDPService udp,
const char *  searchTarget = "ssdp:all",
uint32_t  minWaitMs = 3000,
uint32_t  maxWaitMs = 60000 
)
pure virtual

Start discovery with provided HTTP/UDP services.

Implemented in tiny_dlna::DLNAControlPoint.

◆ end()

virtual void tiny_dlna::IControlPoint::end ( )
pure virtual

Stop discovery and cleanup resources.

Implemented in tiny_dlna::DLNAControlPoint.

◆ executeActions()

virtual ActionReply & tiny_dlna::IControlPoint::executeActions ( XMLCallback  xmlProcessor = nullptr)
pure virtual

Execute queued actions and process responses.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getDevice() [1/4]

virtual DLNADeviceInfo & tiny_dlna::IControlPoint::getDevice ( )
pure virtual

Get current device (by index)

Implemented in tiny_dlna::DLNAControlPoint.

◆ getDevice() [2/4]

virtual DLNADeviceInfo & tiny_dlna::IControlPoint::getDevice ( DLNAServiceInfo service)
pure virtual

Get device containing the specified service.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getDevice() [3/4]

virtual DLNADeviceInfo & tiny_dlna::IControlPoint::getDevice ( int  idx)
pure virtual

Get device by index.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getDevice() [4/4]

virtual DLNADeviceInfo & tiny_dlna::IControlPoint::getDevice ( Url  location)
pure virtual

Get device by location URL.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getDevices()

virtual Vector< DLNADeviceInfo > & tiny_dlna::IControlPoint::getDevices ( )
pure virtual

Get list of all discovered devices.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getLastReply()

virtual ActionReply & tiny_dlna::IControlPoint::getLastReply ( )
pure virtual

Get last action reply.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getService()

virtual DLNAServiceInfo & tiny_dlna::IControlPoint::getService ( const char *  id)
pure virtual

Get service by ID from discovered devices.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getSubscriptionMgr()

virtual SubscriptionMgrControlPoint * tiny_dlna::IControlPoint::getSubscriptionMgr ( )
pure virtual

Get subscription manager for event handling.

Implemented in tiny_dlna::DLNAControlPoint.

◆ getUrl()

virtual const char * tiny_dlna::IControlPoint::getUrl ( DLNADeviceInfo device,
const char *  suffix,
char *  buffer,
int  len 
)
pure virtual

Build URL for device service endpoint.

Implemented in tiny_dlna::DLNAControlPoint.

◆ isActive()

virtual bool tiny_dlna::IControlPoint::isActive ( )
pure virtual

Check if control point is active.

Implemented in tiny_dlna::DLNAControlPoint.

◆ loop()

virtual bool tiny_dlna::IControlPoint::loop ( )
pure virtual

Process discovery loop and handle events.

Implemented in tiny_dlna::DLNAControlPoint.

◆ onResultNode()

virtual void tiny_dlna::IControlPoint::onResultNode ( std::function< void(const char *nodeName, const char *text, const char *attributes)>  cb)
pure virtual

Set callback for processing XML result nodes.

Implemented in tiny_dlna::DLNAControlPoint.

◆ registerString()

virtual const char * tiny_dlna::IControlPoint::registerString ( const char *  s)
pure virtual

Register string for memory management.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setActive()

virtual void tiny_dlna::IControlPoint::setActive ( bool  flag)
pure virtual

Set active state for processing.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setAllowLocalhost()

virtual void tiny_dlna::IControlPoint::setAllowLocalhost ( bool  flag)
pure virtual

Allow localhost devices in discovery.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setDeviceIndex()

virtual void tiny_dlna::IControlPoint::setDeviceIndex ( int  idx)
pure virtual

Set index of device to operate on.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setEventSubscriptionCallback()

virtual void tiny_dlna::IControlPoint::setEventSubscriptionCallback ( std::function< void(const char *sid, const char *varName, const char *newValue, void *reference)>  cb,
void *  ref = nullptr 
)
pure virtual

Set callback for event subscription notifications.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setHttpServer()

virtual void tiny_dlna::IControlPoint::setHttpServer ( IHttpServer server)
pure virtual

Set HTTP server for handling event callbacks.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setLocalURL() [1/2]

virtual void tiny_dlna::IControlPoint::setLocalURL ( IPAddress  url,
int  port = 9001,
const char *  path = "" 
)
pure virtual

Set the local callback URL for event subscriptions.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setLocalURL() [2/2]

virtual void tiny_dlna::IControlPoint::setLocalURL ( Url  url)
pure virtual

Set the local callback URL for event subscriptions.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setParseDevice()

virtual void tiny_dlna::IControlPoint::setParseDevice ( bool  flag)
pure virtual

Enable/disable parsing of device descriptions during discovery.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setReference()

virtual void tiny_dlna::IControlPoint::setReference ( void *  ref)
pure virtual

Set user reference pointer for callbacks.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setSearchRepeatMs()

virtual void tiny_dlna::IControlPoint::setSearchRepeatMs ( int  repeatMs)
pure virtual

Set the repeat interval for M-SEARCH requests.

Implemented in tiny_dlna::DLNAControlPoint.

◆ setSubscribeNotificationsActive()

virtual void tiny_dlna::IControlPoint::setSubscribeNotificationsActive ( bool  flag)
pure virtual

Enable/disable event subscription notifications.

Implemented in tiny_dlna::DLNAControlPoint.


The documentation for this class was generated from the following file: