Arduino DLNA Server
Loading...
Searching...
No Matches
DLNAServiceInfo.h
Go to the documentation of this file.
1#pragma once
2
3#include "http/Http.h"
5#include "dlna/Action.h"
6#include "basic/Str.h"
7#include "basic/StrView.h"
8
9namespace tiny_dlna {
10
11typedef void (*http_callback)(IHttpServer* server, const char* requestPath,
13
19 public:
20 DLNAServiceInfo(bool flag = true) { is_active = flag; }
21
23 void setup(const char* type, const char* id, const char* scp,
24 http_callback cbScp, const char* control, http_callback cbControl,
25 const char* event, http_callback cbEvent) {
26 DlnaLogger.log(DlnaLogLevel::Info, "Setting up: %s | %s | %s", scp, control, event);
27
28 service_type = type;
29 service_id = id;
30 scpd_url = scp;
31 control_url = control;
32 event_sub_url = event;
33 scp_cb = cbScp;
34 control_cb = cbControl;
35 event_sub_cb = cbEvent;
36 }
42 // event_sub_sid previously stored remote-assigned SID; consolidated into subscription_id
46
53 const char* subscription_namespace_abbrev = nullptr;
54
55 // instance id
56 int instance_id = 0;
57
58 // active/inactive
59 bool is_active = true;
60 operator bool() { return is_active; }
61
62};
63
64} // namespace tiny_dlna
Attributes needed for the DLNA Service Definition.
Definition: DLNAServiceInfo.h:18
uint64_t time_subscription_confirmed
timestamp when subscription was confirmed
Definition: DLNAServiceInfo.h:51
SubscriptionState subscription_state
Definition: DLNAServiceInfo.h:49
http_callback control_cb
Definition: DLNAServiceInfo.h:44
uint64_t time_subscription_expires
timestamp when subscription expires
Definition: DLNAServiceInfo.h:52
http_callback scp_cb
Definition: DLNAServiceInfo.h:43
Str subscription_id
for subscriptions
Definition: DLNAServiceInfo.h:48
Str event_sub_url
Definition: DLNAServiceInfo.h:41
Str service_id
Definition: DLNAServiceInfo.h:38
uint64_t time_subscription_started
timestamp when subscription started
Definition: DLNAServiceInfo.h:50
void setup(const char *type, const char *id, const char *scp, http_callback cbScp, const char *control, http_callback cbControl, const char *event, http_callback cbEvent)
Setup all relevant values.
Definition: DLNAServiceInfo.h:23
DLNAServiceInfo(bool flag=true)
Definition: DLNAServiceInfo.h:20
int instance_id
Definition: DLNAServiceInfo.h:56
Str scpd_url
Definition: DLNAServiceInfo.h:39
http_callback event_sub_cb
Definition: DLNAServiceInfo.h:45
bool is_active
Definition: DLNAServiceInfo.h:59
const char * subscription_namespace_abbrev
Definition: DLNAServiceInfo.h:53
Str service_type
Definition: DLNAServiceInfo.h:37
Str control_url
Definition: DLNAServiceInfo.h:40
Used to register and process callbacks.
Definition: HttpRequestHandlerLine.h:15
Abstract interface for HTTP server functionality.
Definition: IHttpServer.h:30
Heap-backed string utility used throughout tiny_dlna.
Definition: Str.h:27
Definition: Allocator.h:13
SubscriptionState
Subscription State for DLNA eventing.
Definition: DLNACommon.h:13
void(* http_callback)(IHttpServer *server, const char *requestPath, HttpRequestHandlerLine *hl)
Definition: DLNAServiceInfo.h:11