33 const char* sid =
nullptr,
34 uint32_t timeoutSec = 1800) = 0;
42 std::function<
size_t(Print&,
void*)> changeWriter,
void* ref) = 0;
57 virtual void end() = 0;
Attributes needed for the DLNA Service Definition.
Definition: DLNAServiceInfo.h:18
Abstract interface for HTTP server functionality.
Definition: IHttpServer.h:30
Abstract interface for UPnP event subscription management.
Definition: ISubscriptionMgrDevice.h:27
virtual void setSubscriptionsActive(bool flag)=0
Enable/disable subscription processing.
virtual bool unsubscribe(DLNAServiceInfo &service, const char *sid)=0
Unsubscribe from service events.
virtual bool processSubscribeRequest(IHttpServer &server, DLNAServiceInfo &service)=0
Process HTTP SUBSCRIBE request.
virtual bool processUnsubscribeRequest(IHttpServer &server, DLNAServiceInfo &service)=0
Process HTTP UNSUBSCRIBE request.
virtual void addChange(DLNAServiceInfo &service, std::function< size_t(Print &, void *)> changeWriter, void *ref)=0
Add state change event for notification.
virtual bool isSubscriptionsActive()=0
Check if subscriptions are active.
virtual ~ISubscriptionMgrDevice()=default
virtual void end()=0
Cleanup and stop subscription manager.
virtual size_t subscriptionsCount()=0
Provide actual number of subscriptions.
virtual Str subscribe(DLNAServiceInfo &service, const char *callbackUrl, const char *sid=nullptr, uint32_t timeoutSec=1800)=0
Subscribe to service events with callback URL.
virtual size_t pendingCount()=0
Provide actual number of open (unprocessed) notifications.
virtual int publish()=0
Publish pending event notifications.
Heap-backed string utility used throughout tiny_dlna.
Definition: Str.h:27
Definition: Allocator.h:13