Arduino DLNA Server
Loading...
Searching...
No Matches
DLNAMediaRendererDescr.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace tiny_dlna {
7
20 public:
21 size_t printDescr(Print& out) override {
22 const char* txt =
23 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
24 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
25 " <specVersion>\n"
26 " <major>1</major>\n"
27 " <minor>0</minor>\n"
28 " </specVersion>\n"
29 " <actionList>\n"
30 " <!-- Essential Actions -->\n"
31 " <action>\n"
32 " <name>SetAVTransportURI</name>\n"
33 " <argumentList>\n"
34 " <argument>\n"
35 " <name>InstanceID</name>\n"
36 " <direction>in</direction>\n"
37 " "
38 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
39 " </argument>\n"
40 " <argument>\n"
41 " <name>CurrentURI</name>\n"
42 " <direction>in</direction>\n"
43 " "
44 "<relatedStateVariable>AVTransportURI</relatedStateVariable>\n"
45 " </argument>\n"
46 " <argument>\n"
47 " <name>CurrentURIMetaData</name>\n"
48 " <direction>in</direction>\n"
49 " "
50 "<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n"
51 " </argument>\n"
52 " </argumentList>\n"
53 " </action>\n"
54 "\n"
55 " <action>\n"
56 " <name>Play</name>\n"
57 " <argumentList>\n"
58 " <argument>\n"
59 " <name>InstanceID</name>\n"
60 " <direction>in</direction>\n"
61 " "
62 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
63 " </argument>\n"
64 " <argument>\n"
65 " <name>Speed</name>\n"
66 " <direction>in</direction>\n"
67 " "
68 "<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n"
69 " </argument>\n"
70 " </argumentList>\n"
71 " </action>\n"
72 "\n"
73 " <action>\n"
74 " <name>Stop</name>\n"
75 " <argumentList>\n"
76 " <argument>\n"
77 " <name>InstanceID</name>\n"
78 " <direction>in</direction>\n"
79 " "
80 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
81 " </argument>\n"
82 " </argumentList>\n"
83 " </action>\n"
84 "\n"
85 " <action>\n"
86 " <name>Pause</name>\n"
87 " <argumentList>\n"
88 " <argument>\n"
89 " <name>InstanceID</name>\n"
90 " <direction>in</direction>\n"
91 " "
92 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
93 " </argument>\n"
94 " </argumentList>\n"
95 " </action>\n"
96 "\n"
97 " <!-- Recommended Query Actions -->\n"
98 " <action>\n"
99 " <name>GetTransportInfo</name>\n"
100 " <argumentList>\n"
101 " <argument>\n"
102 " <name>InstanceID</name>\n"
103 " <direction>in</direction>\n"
104 " "
105 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
106 " </argument>\n"
107 " <argument>\n"
108 " <name>CurrentTransportState</name>\n"
109 " <direction>out</direction>\n"
110 " "
111 "<relatedStateVariable>TransportState</relatedStateVariable>\n"
112 " </argument>\n"
113 " <argument>\n"
114 " <name>CurrentTransportStatus</name>\n"
115 " <direction>out</direction>\n"
116 " "
117 "<relatedStateVariable>TransportStatus</relatedStateVariable>\n"
118 " </argument>\n"
119 " <argument>\n"
120 " <name>CurrentSpeed</name>\n"
121 " <direction>out</direction>\n"
122 " "
123 "<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n"
124 " </argument>\n"
125 " </argumentList>\n"
126 " </action>\n"
127 "\n"
128 " <action>\n"
129 " <name>GetPositionInfo</name>\n"
130 " <argumentList>\n"
131 " <argument>\n"
132 " <name>InstanceID</name>\n"
133 " <direction>in</direction>\n"
134 " "
135 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
136 " </argument>\n"
137 " <argument>\n"
138 " <name>Track</name>\n"
139 " <direction>out</direction>\n"
140 " <relatedStateVariable>CurrentTrack</relatedStateVariable>\n"
141 " </argument>\n"
142 " <argument>\n"
143 " <name>TrackDuration</name>\n"
144 " <direction>out</direction>\n"
145 " "
146 "<relatedStateVariable>CurrentTrackDuration</relatedStateVariable>\n"
147 " </argument>\n"
148 " <argument>\n"
149 " <name>TrackMetaData</name>\n"
150 " <direction>out</direction>\n"
151 " "
152 "<relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>\n"
153 " </argument>\n"
154 " <argument>\n"
155 " <name>TrackURI</name>\n"
156 " <direction>out</direction>\n"
157 " "
158 "<relatedStateVariable>CurrentTrackURI</relatedStateVariable>\n"
159 " </argument>\n"
160 " <argument>\n"
161 " <name>RelTime</name>\n"
162 " <direction>out</direction>\n"
163 " "
164 "<relatedStateVariable>RelativeTimePosition</relatedStateVariable>\n"
165 " </argument>\n"
166 " <argument>\n"
167 " <name>AbsTime</name>\n"
168 " <direction>out</direction>\n"
169 " "
170 "<relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>\n"
171 " </argument>\n"
172 " <argument>\n"
173 " <name>RelCount</name>\n"
174 " <direction>out</direction>\n"
175 " "
176 "<relatedStateVariable>RelativeCounterPosition</relatedStateVariable>\n"
177 " </argument>\n"
178 " <argument>\n"
179 " <name>AbsCount</name>\n"
180 " <direction>out</direction>\n"
181 " "
182 "<relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>\n"
183 " </argument>\n"
184 " </argumentList>\n"
185 " </action>\n"
186 "\n"
187 " <action>\n"
188 " <name>GetMediaInfo</name>\n"
189 " <argumentList>\n"
190 " <argument>\n"
191 " <name>InstanceID</name>\n"
192 " <direction>in</direction>\n"
193 " "
194 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
195 " </argument>\n"
196 " <argument>\n"
197 " <name>NrTracks</name>\n"
198 " <direction>out</direction>\n"
199 " "
200 "<relatedStateVariable>NumberOfTracks</relatedStateVariable>\n"
201 " </argument>\n"
202 " <argument>\n"
203 " <name>MediaDuration</name>\n"
204 " <direction>out</direction>\n"
205 " "
206 "<relatedStateVariable>CurrentMediaDuration</relatedStateVariable>\n"
207 " </argument>\n"
208 " <argument>\n"
209 " <name>CurrentURI</name>\n"
210 " <direction>out</direction>\n"
211 " "
212 "<relatedStateVariable>AVTransportURI</relatedStateVariable>\n"
213 " </argument>\n"
214 " <argument>\n"
215 " <name>CurrentURIMetaData</name>\n"
216 " <direction>out</direction>\n"
217 " "
218 "<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n"
219 " </argument>\n"
220 " <argument>\n"
221 " <name>NextURI</name>\n"
222 " <direction>out</direction>\n"
223 " "
224 "<relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n"
225 " </argument>\n"
226 " <argument>\n"
227 " <name>NextURIMetaData</name>\n"
228 " <direction>out</direction>\n"
229 " "
230 "<relatedStateVariable>NextAVTransportURIMetaData</"
231 "relatedStateVariable>\n"
232 " </argument>\n"
233 " <argument>\n"
234 " <name>PlayMedium</name>\n"
235 " <direction>out</direction>\n"
236 " "
237 "<relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>\n"
238 " </argument>\n"
239 " <argument>\n"
240 " <name>RecordMedium</name>\n"
241 " <direction>out</direction>\n"
242 " "
243 "<relatedStateVariable>RecordStorageMedium</relatedStateVariable>\n"
244 " </argument>\n"
245 " <argument>\n"
246 " <name>WriteStatus</name>\n"
247 " <direction>out</direction>\n"
248 " "
249 "<relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>\n"
250 " </argument>\n"
251 " </argumentList>\n"
252 " </action>\n"
253 "\n"
254 " </actionList>\n"
255 "\n"
256 " <serviceStateTable>\n"
257 " <!-- Essential State Variables -->\n"
258 " <stateVariable sendEvents=\"yes\">\n"
259 " <name>TransportState</name>\n"
260 " <dataType>string</dataType>\n"
261 " <allowedValueList>\n"
262 " <allowedValue>STOPPED</allowedValue>\n"
263 " <allowedValue>PLAYING</allowedValue>\n"
264 " <allowedValue>PAUSED_PLAYBACK</allowedValue>\n"
265 " <allowedValue>TRANSITIONING</allowedValue>\n"
266 " <allowedValue>NO_MEDIA_PRESENT</allowedValue>\n"
267 " </allowedValueList>\n"
268 " <defaultValue>NO_MEDIA_PRESENT</defaultValue>\n"
269 " </stateVariable>\n"
270 "\n"
271 " <stateVariable sendEvents=\"yes\">\n"
272 " <name>TransportStatus</name>\n"
273 " <dataType>string</dataType>\n"
274 " <allowedValueList>\n"
275 " <allowedValue>OK</allowedValue>\n"
276 " <allowedValue>ERROR_OCCURRED</allowedValue>\n"
277 " </allowedValueList>\n"
278 " <defaultValue>OK</defaultValue>\n"
279 " </stateVariable>\n"
280 "\n"
281 " <stateVariable sendEvents=\"yes\">\n"
282 " <name>TransportPlaySpeed</name>\n"
283 " <dataType>string</dataType>\n"
284 " <defaultValue>1</defaultValue>\n"
285 " </stateVariable>\n"
286 "\n"
287 " <!-- Media-related State Variables -->\n"
288 " <stateVariable sendEvents=\"yes\">\n"
289 " <name>AVTransportURI</name>\n"
290 " <dataType>string</dataType>\n"
291 " </stateVariable>\n"
292 "\n"
293 " <stateVariable sendEvents=\"yes\">\n"
294 " <name>AVTransportURIMetaData</name>\n"
295 " <dataType>string</dataType>\n"
296 " </stateVariable>\n"
297 "\n"
298 " <stateVariable sendEvents=\"yes\">\n"
299 " <name>CurrentTrack</name>\n"
300 " <dataType>ui4</dataType>\n"
301 " <defaultValue>0</defaultValue>\n"
302 " </stateVariable>\n"
303 "\n"
304 " <stateVariable sendEvents=\"yes\">\n"
305 " <name>CurrentTrackDuration</name>\n"
306 " <dataType>string</dataType>\n"
307 " </stateVariable>\n"
308 "\n"
309 " <stateVariable sendEvents=\"yes\">\n"
310 " <name>RelativeTimePosition</name>\n"
311 " <dataType>string</dataType>\n"
312 " </stateVariable>\n"
313 "\n"
314 " <stateVariable sendEvents=\"yes\">\n"
315 " <name>AbsoluteTimePosition</name>\n"
316 " <dataType>string</dataType>\n"
317 " </stateVariable>\n"
318 "\n"
319 " <!-- Argument Type State Variables -->\n"
320 " <stateVariable sendEvents=\"no\">\n"
321 " <name>A_ARG_TYPE_InstanceID</name>\n"
322 " <dataType>ui4</dataType>\n"
323 " </stateVariable>\n"
324 "\n"
325 " <!-- Additional required state variables (can have empty/default "
326 "values) -->\n"
327 " <stateVariable sendEvents=\"yes\">\n"
328 " <name>CurrentTrackMetaData</name>\n"
329 " <dataType>string</dataType>\n"
330 " </stateVariable>\n"
331 "\n"
332 " <stateVariable sendEvents=\"yes\">\n"
333 " <name>CurrentTrackURI</name>\n"
334 " <dataType>string</dataType>\n"
335 " </stateVariable>\n"
336 "\n"
337 " <stateVariable sendEvents=\"yes\">\n"
338 " <name>RelativeCounterPosition</name>\n"
339 " <dataType>i4</dataType>\n"
340 " </stateVariable>\n"
341 "\n"
342 " <stateVariable sendEvents=\"yes\">\n"
343 " <name>AbsoluteCounterPosition</name>\n"
344 " <dataType>i4</dataType>\n"
345 " </stateVariable>\n"
346 "\n"
347 " <stateVariable sendEvents=\"yes\">\n"
348 " <name>NumberOfTracks</name>\n"
349 " <dataType>ui4</dataType>\n"
350 " <defaultValue>0</defaultValue>\n"
351 " </stateVariable>\n"
352 "\n"
353 " <stateVariable sendEvents=\"yes\">\n"
354 " <name>CurrentMediaDuration</name>\n"
355 " <dataType>string</dataType>\n"
356 " </stateVariable>\n"
357 "\n"
358 " <stateVariable sendEvents=\"yes\">\n"
359 " <name>NextAVTransportURI</name>\n"
360 " <dataType>string</dataType>\n"
361 " </stateVariable>\n"
362 "\n"
363 " <stateVariable sendEvents=\"yes\">\n"
364 " <name>NextAVTransportURIMetaData</name>\n"
365 " <dataType>string</dataType>\n"
366 " </stateVariable>\n"
367 "\n"
368 " <stateVariable sendEvents=\"yes\">\n"
369 " <name>PlaybackStorageMedium</name>\n"
370 " <dataType>string</dataType>\n"
371 " <defaultValue>NETWORK</defaultValue>\n"
372 " </stateVariable>\n"
373 "\n"
374 " <stateVariable sendEvents=\"yes\">\n"
375 " <name>RecordStorageMedium</name>\n"
376 " <dataType>string</dataType>\n"
377 " <defaultValue>NOT_IMPLEMENTED</defaultValue>\n"
378 " </stateVariable>\n"
379 "\n"
380 " <stateVariable sendEvents=\"yes\">\n"
381 " <name>RecordMediumWriteStatus</name>\n"
382 " <dataType>string</dataType>\n"
383 " <defaultValue>NOT_IMPLEMENTED</defaultValue>\n"
384 " </stateVariable>\n"
385 "\n"
386 " </serviceStateTable>\n"
387 "</scpd>\n"
388 "";
389 return out.print(txt);
390 }
391};
392
403 public:
404 size_t printDescr(Print& out) override {
405 const char* txt =
406 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
407 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
408 " <specVersion>\n"
409 " <major>1</major>\n"
410 " <minor>0</minor>\n"
411 " </specVersion>\n"
412 " <actionList>\n"
413 " <!-- Essential Volume Control -->\n"
414 " <action>\n"
415 " <name>SetVolume</name>\n"
416 " <argumentList>\n"
417 " <argument>\n"
418 " <name>InstanceID</name>\n"
419 " <direction>in</direction>\n"
420 " "
421 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
422 " </argument>\n"
423 " <argument>\n"
424 " <name>Channel</name>\n"
425 " <direction>in</direction>\n"
426 " "
427 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
428 " </argument>\n"
429 " <argument>\n"
430 " <name>DesiredVolume</name>\n"
431 " <direction>in</direction>\n"
432 " <relatedStateVariable>Volume</relatedStateVariable>\n"
433 " </argument>\n"
434 " </argumentList>\n"
435 " </action>\n"
436 "\n"
437 " <action>\n"
438 " <name>GetVolume</name>\n"
439 " <argumentList>\n"
440 " <argument>\n"
441 " <name>InstanceID</name>\n"
442 " <direction>in</direction>\n"
443 " "
444 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
445 " </argument>\n"
446 " <argument>\n"
447 " <name>Channel</name>\n"
448 " <direction>in</direction>\n"
449 " "
450 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
451 " </argument>\n"
452 " <argument>\n"
453 " <name>CurrentVolume</name>\n"
454 " <direction>out</direction>\n"
455 " <relatedStateVariable>Volume</relatedStateVariable>\n"
456 " </argument>\n"
457 " </argumentList>\n"
458 " </action>\n"
459 "\n"
460 " <!-- Essential Mute Control -->\n"
461 " <action>\n"
462 " <name>SetMute</name>\n"
463 " <argumentList>\n"
464 " <argument>\n"
465 " <name>InstanceID</name>\n"
466 " <direction>in</direction>\n"
467 " "
468 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
469 " </argument>\n"
470 " <argument>\n"
471 " <name>Channel</name>\n"
472 " <direction>in</direction>\n"
473 " "
474 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
475 " </argument>\n"
476 " <argument>\n"
477 " <name>DesiredMute</name>\n"
478 " <direction>in</direction>\n"
479 " <relatedStateVariable>Mute</relatedStateVariable>\n"
480 " </argument>\n"
481 " </argumentList>\n"
482 " </action>\n"
483 "\n"
484 " <action>\n"
485 " <name>GetMute</name>\n"
486 " <argumentList>\n"
487 " <argument>\n"
488 " <name>InstanceID</name>\n"
489 " <direction>in</direction>\n"
490 " "
491 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
492 " </argument>\n"
493 " <argument>\n"
494 " <name>Channel</name>\n"
495 " <direction>in</direction>\n"
496 " "
497 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
498 " </argument>\n"
499 " <argument>\n"
500 " <name>CurrentMute</name>\n"
501 " <direction>out</direction>\n"
502 " <relatedStateVariable>Mute</relatedStateVariable>\n"
503 " </argument>\n"
504 " </argumentList>\n"
505 " </action>\n"
506 "\n"
507 " <!-- Optional but recommended -->\n"
508 " <action>\n"
509 " <name>ListPresets</name>\n"
510 " <argumentList>\n"
511 " <argument>\n"
512 " <name>InstanceID</name>\n"
513 " <direction>in</direction>\n"
514 " "
515 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
516 " </argument>\n"
517 " <argument>\n"
518 " <name>CurrentPresetNameList</name>\n"
519 " <direction>out</direction>\n"
520 " "
521 "<relatedStateVariable>PresetNameList</relatedStateVariable>\n"
522 " </argument>\n"
523 " </argumentList>\n"
524 " </action>\n"
525 "\n"
526 " </actionList>\n"
527 "\n"
528 " <serviceStateTable>\n"
529 " <!-- Core State Variables -->\n"
530 " <stateVariable sendEvents=\"yes\">\n"
531 " <name>Volume</name>\n"
532 " <dataType>ui2</dataType>\n"
533 " <allowedValueRange>\n"
534 " <minimum>0</minimum>\n"
535 " <maximum>100</maximum>\n"
536 " <step>1</step>\n"
537 " </allowedValueRange>\n"
538 " <defaultValue>50</defaultValue>\n"
539 " </stateVariable>\n"
540 "\n"
541 " <stateVariable sendEvents=\"yes\">\n"
542 " <name>Mute</name>\n"
543 " <dataType>boolean</dataType>\n"
544 " <defaultValue>0</defaultValue>\n"
545 " </stateVariable>\n"
546 "\n"
547 " <!-- Argument Type State Variables -->\n"
548 " <stateVariable sendEvents=\"no\">\n"
549 " <name>A_ARG_TYPE_InstanceID</name>\n"
550 " <dataType>ui4</dataType>\n"
551 " </stateVariable>\n"
552 "\n"
553 " <stateVariable sendEvents=\"no\">\n"
554 " <name>A_ARG_TYPE_Channel</name>\n"
555 " <dataType>string</dataType>\n"
556 " <allowedValueList>\n"
557 " <allowedValue>Master</allowedValue>\n"
558 " </allowedValueList>\n"
559 " </stateVariable>\n"
560 "\n"
561 " <!-- Preset Support -->\n"
562 " <stateVariable sendEvents=\"no\">\n"
563 " <name>PresetNameList</name>\n"
564 " <dataType>string</dataType>\n"
565 " <defaultValue>FactoryDefault</defaultValue>\n"
566 " </stateVariable>\n"
567 "\n"
568 " <!-- Additional variables (minimal set) -->\n"
569 " <stateVariable sendEvents=\"yes\">\n"
570 " <name>Brightness</name>\n"
571 " <dataType>ui2</dataType>\n"
572 " <allowedValueRange>\n"
573 " <minimum>0</minimum>\n"
574 " <maximum>100</maximum>\n"
575 " <step>1</step>\n"
576 " </allowedValueRange>\n"
577 " <defaultValue>50</defaultValue>\n"
578 " </stateVariable>\n"
579 "\n"
580 " </serviceStateTable>\n"
581 "</scpd>\n"
582 "";
583 return out.print(txt);
584 }
585};
586
597 public:
598 size_t printDescr(Print& out) override {
599 const char* msg =
600 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
601 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
602 " <specVersion>\n"
603 " <major>1</major>\n"
604 " <minor>0</minor>\n"
605 " </specVersion>\n"
606 " <actionList>\n"
607 " <action>\n"
608 " <name>GetProtocolInfo</name>\n"
609 " <argumentList>\n"
610 " <argument>\n"
611 " <name>Source</name>\n"
612 " <direction>out</direction>\n"
613 " "
614 "<relatedStateVariable>SourceProtocolInfo</relatedStateVariable>\n"
615 " </argument>\n"
616 " <argument>\n"
617 " <name>Sink</name>\n"
618 " <direction>out</direction>\n"
619 " "
620 "<relatedStateVariable>SinkProtocolInfo</relatedStateVariable>\n"
621 " </argument>\n"
622 " </argumentList>\n"
623 " </action>\n"
624 " <action>\n"
625 " <name>GetCurrentConnectionIDs</name>\n"
626 " <argumentList>\n"
627 " <argument>\n"
628 " <name>ConnectionIDs</name>\n"
629 " <direction>out</direction>\n"
630 " "
631 "<relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>\n"
632 " </argument>\n"
633 " </argumentList>\n"
634 " </action>\n"
635 " <!-- Optional: Remove PrepareForConnection and "
636 "GetCurrentConnectionInfo for simpler implementation -->\n"
637 " </actionList>\n"
638 " <serviceStateTable>\n"
639 " <stateVariable sendEvents=\"yes\">\n"
640 " <name>SourceProtocolInfo</name>\n"
641 " <dataType>string</dataType>\n"
642 " <defaultValue></defaultValue>\n"
643 " </stateVariable>\n"
644 " <stateVariable sendEvents=\"yes\">\n"
645 " <name>SinkProtocolInfo</name>\n"
646 " <dataType>string</dataType>\n"
647 " <!-- Example: Add supported formats -->\n"
648 " "
649 "<defaultValue>http-get:*:audio/mpeg:*,http-get:*:audio/"
650 "wav:*,http-get:*:audio/L16:*,http-get:*:audio/flac:*</defaultValue>\n"
651 " </stateVariable>\n"
652 " <stateVariable sendEvents=\"yes\">\n"
653 " <name>CurrentConnectionIDs</name>\n"
654 " <dataType>string</dataType>\n"
655 " <defaultValue>0</defaultValue>\n"
656 " </stateVariable>\n"
657 " </serviceStateTable>\n"
658 "</scpd>\n"
659 "";
660 return out.print(msg);
661 }
662};
663
664} // namespace tiny_dlna
Abstract DLNA Descriptor Generation.
Definition: DLNADescr.h:9
ConnectionManager service descriptor (SCPD) generator.
Definition: DLNAMediaRendererDescr.h:596
size_t printDescr(Print &out) override
Definition: DLNAMediaRendererDescr.h:598
RenderingControl service descriptor (SCPD) generator.
Definition: DLNAMediaRendererDescr.h:402
size_t printDescr(Print &out) override
Definition: DLNAMediaRendererDescr.h:404
AVTransport service descriptor (SCPD) generator.
Definition: DLNAMediaRendererDescr.h:19
size_t printDescr(Print &out) override
Definition: DLNAMediaRendererDescr.h:21
Definition: Allocator.h:13