10class ISubscriptionMgrDevice;
40 virtual void end() = 0;
53 std::function<
size_t(Print&,
void*)> changeWriter,
Device Attributes and generation of XML using urn:schemas-upnp-org:device-1-0. We could just return a...
Definition: DLNADeviceInfo.h:25
Attributes needed for the DLNA Service Definition.
Definition: DLNAServiceInfo.h:18
Abstract interface for DLNA device functionality.
Definition: IDevice.h:30
virtual void setSubscriptionsActive(bool flag)=0
Enable/disable event subscriptions.
virtual bool begin(DLNADeviceInfo &device, IUDPService &udp, IHttpServer &server)=0
Initialize device with device info, UDP service, and HTTP server.
virtual bool loop(int loopActions=RUN_ALL)=0
Process device loop for UDP and scheduler operations.
virtual void end()=0
Stop device and cleanup resources.
virtual ISubscriptionMgrDevice & getSubscriptionMgr()=0
Get subscription manager for event handling.
virtual bool loopServer()=0
Process HTTP server loop.
virtual DLNAServiceInfo & getServiceByAbbrev(const char *abbrev)=0
Get service by abbreviation.
virtual DLNAServiceInfo & getService(const char *id)=0
Get service by ID.
virtual void setSchedulerActive(bool flag)=0
Enable/disable scheduler for periodic announcements.
virtual bool isSubscriptionsActive() const =0
Check if subscriptions are active.
virtual bool isSchedulerActive()=0
Check if scheduler is active.
virtual DLNADeviceInfo & getDeviceInfo()=0
Get device information.
virtual ~IDevice()=default
virtual void * getReference()=0
Get user reference pointer.
virtual void addChange(const char *serviceAbbrev, std::function< size_t(Print &, void *)> changeWriter, void *ref)=0
Add state change event for notification.
virtual DLNAServiceInfo * getServiceByEventPath(const char *requestPath)=0
Get service by event subscription path.
virtual void setPostAliveRepeatMs(uint32_t ms)=0
Set repeat interval for alive announcements (ms)
virtual void setReference(void *ref)=0
Set user reference pointer.
Abstract interface for HTTP server functionality.
Definition: IHttpServer.h:30
Abstract interface for UPnP event subscription management.
Definition: ISubscriptionMgrDevice.h:27
Abstract Interface for UDP API.
Definition: IUDPService.h:33
Definition: Allocator.h:13
LoopAction
Loop Action flag.
Definition: IDevice.h:18
@ RUN_UDP
Definition: IDevice.h:18
@ RUN_SERVER
Definition: IDevice.h:18
@ RUN_ALL
Definition: IDevice.h:18
@ RUN_SUBSCRIPTIONS
Definition: IDevice.h:18