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

Abstract interface for DLNA device functionality. More...

#include <IDevice.h>

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

Public Member Functions

virtual ~IDevice ()=default
 
virtual bool begin (DLNADeviceInfo &device, IUDPService &udp, IHttpServer &server)=0
 Initialize device with device info, UDP service, and HTTP server.
 
virtual ISubscriptionMgrDevicegetSubscriptionMgr ()=0
 Get subscription manager for event handling.
 
virtual void end ()=0
 Stop device and cleanup resources.
 
virtual bool loop (int loopActions=RUN_ALL)=0
 Process device loop for UDP and scheduler operations.
 
virtual bool loopServer ()=0
 Process HTTP server loop.
 
virtual DLNAServiceInfogetService (const char *id)=0
 Get service by ID.
 
virtual DLNAServiceInfogetServiceByAbbrev (const char *abbrev)=0
 Get service by abbreviation.
 
virtual DLNAServiceInfogetServiceByEventPath (const char *requestPath)=0
 Get service by event subscription path.
 
virtual void addChange (const char *serviceAbbrev, std::function< size_t(Print &, void *)> changeWriter, void *ref)=0
 Add state change event for notification.
 
virtual DLNADeviceInfogetDeviceInfo ()=0
 Get device information.
 
virtual void setSchedulerActive (bool flag)=0
 Enable/disable scheduler for periodic announcements.
 
virtual bool isSchedulerActive ()=0
 Check if scheduler is active.
 
virtual void setPostAliveRepeatMs (uint32_t ms)=0
 Set repeat interval for alive announcements (ms)
 
virtual void setSubscriptionsActive (bool flag)=0
 Enable/disable event subscriptions.
 
virtual bool isSubscriptionsActive () const =0
 Check if subscriptions are active.
 
virtual void setReference (void *ref)=0
 Set user reference pointer.
 
virtual void * getReference ()=0
 Get user reference pointer.
 

Detailed Description

Abstract interface for DLNA device functionality.

Defines the contract for implementing a DLNA device that can advertise itself on the network, handle service requests, manage event subscriptions, and provide UPnP device capabilities. Provides methods for device lifecycle, service management, event handling, and periodic announcements.

Constructor & Destructor Documentation

◆ ~IDevice()

virtual tiny_dlna::IDevice::~IDevice ( )
virtualdefault

Member Function Documentation

◆ addChange()

virtual void tiny_dlna::IDevice::addChange ( const char *  serviceAbbrev,
std::function< size_t(Print &, void *)>  changeWriter,
void *  ref 
)
pure virtual

Add state change event for notification.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ begin()

virtual bool tiny_dlna::IDevice::begin ( DLNADeviceInfo device,
IUDPService udp,
IHttpServer server 
)
pure virtual

Initialize device with device info, UDP service, and HTTP server.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ end()

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

Stop device and cleanup resources.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getDeviceInfo()

virtual DLNADeviceInfo & tiny_dlna::IDevice::getDeviceInfo ( )
pure virtual

Get device information.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getReference()

virtual void * tiny_dlna::IDevice::getReference ( )
pure virtual

Get user reference pointer.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getService()

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

Get service by ID.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getServiceByAbbrev()

virtual DLNAServiceInfo & tiny_dlna::IDevice::getServiceByAbbrev ( const char *  abbrev)
pure virtual

Get service by abbreviation.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getServiceByEventPath()

virtual DLNAServiceInfo * tiny_dlna::IDevice::getServiceByEventPath ( const char *  requestPath)
pure virtual

Get service by event subscription path.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ getSubscriptionMgr()

virtual ISubscriptionMgrDevice & tiny_dlna::IDevice::getSubscriptionMgr ( )
pure virtual

Get subscription manager for event handling.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ isSchedulerActive()

virtual bool tiny_dlna::IDevice::isSchedulerActive ( )
pure virtual

Check if scheduler is active.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ isSubscriptionsActive()

virtual bool tiny_dlna::IDevice::isSubscriptionsActive ( ) const
pure virtual

Check if subscriptions are active.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ loop()

virtual bool tiny_dlna::IDevice::loop ( int  loopActions = RUN_ALL)
pure virtual

Process device loop for UDP and scheduler operations.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ loopServer()

virtual bool tiny_dlna::IDevice::loopServer ( )
pure virtual

Process HTTP server loop.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ setPostAliveRepeatMs()

virtual void tiny_dlna::IDevice::setPostAliveRepeatMs ( uint32_t  ms)
pure virtual

Set repeat interval for alive announcements (ms)

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ setReference()

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

Set user reference pointer.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ setSchedulerActive()

virtual void tiny_dlna::IDevice::setSchedulerActive ( bool  flag)
pure virtual

Enable/disable scheduler for periodic announcements.

Implemented in tiny_dlna::DLNADevice< ClientType >.

◆ setSubscriptionsActive()

virtual void tiny_dlna::IDevice::setSubscriptionsActive ( bool  flag)
pure virtual

Enable/disable event subscriptions.

Implemented in tiny_dlna::DLNADevice< ClientType >.


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