Arduino DLNA Server
Loading...
Searching...
No Matches
src
dlna
devices
MediaServer
ms_content_dir.h
Go to the documentation of this file.
1
#pragma once
2
3
/*
4
<?xml version=\"1.0\"?>
5
<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">
6
<specVersion>
7
<major>1</major>
8
<minor>0</minor>
9
</specVersion>
10
<actionList>
11
<action>
12
<name>Browse</name>
13
<argumentList>
14
<argument>
15
<name>ObjectID</name>
16
<direction>in</direction>
17
</argument>
18
<argument>
19
<name>BrowseFlag</name>
20
<direction>in</direction>
21
</argument>
22
<argument>
23
<name>Filter</name>
24
<direction>in</direction>
25
</argument>
26
<argument>
27
<name>StartingIndex</name>
28
<direction>in</direction>
29
</argument>
30
<argument>
31
<name>RequestedCount</name>
32
<direction>in</direction>
33
</argument>
34
<argument>
35
<name>SortCriteria</name>
36
<direction>in</direction>
37
</argument>
38
<argument>
39
<name>Result</name>
40
<direction>out</direction>
41
</argument>
42
<argument>
43
<name>NumberReturned</name>
44
<direction>out</direction>
45
</argument>
46
<argument>
47
<name>TotalMatches</name>
48
<direction>out</direction>
49
</argument>
50
<argument>
51
<name>UpdateID</name>
52
<direction>out</direction>
53
</argument>
54
</argumentList>
55
</action>
56
<action>
57
<name>GetSearchCapabilities</name>
58
</action>
59
<action>
60
<name>GetSortCapabilities</name>
61
</action>
62
<action>
63
<name>GetSystemUpdateID</name>
64
</action>
65
</actionList>
66
<serviceStateTable>
67
<stateVariable sendEvents=\"no\">
68
<name>SystemUpdateID</name>
69
<dataType>ui4</dataType>
70
</stateVariable>
71
</serviceStateTable>
72
</scpd>\n";
73
*/
74
75
#include "
dlna/xml/XMLPrinter.h
"
76
77
static
void
ms_content_dir_xml_printer(Print& out) {
78
using
tiny_dlna::XMLPrinter
;
79
XMLPrinter xml(out);
80
xml.printXMLHeader();
81
xml.printNodeBeginNl(
"scpd"
,
"xmlns=\"urn:schemas-upnp-org:service-1-0\""
);
82
83
xml.printNodeBeginNl(
"specVersion"
);
84
xml.printNode(
"major"
, 1);
85
xml.printNode(
"minor"
, 0);
86
xml.printNodeEnd(
"specVersion"
);
87
88
xml.printNodeBeginNl(
"actionList"
);
89
90
xml.printNodeBeginNl(
"action"
);
91
xml.printNode(
"name"
,
"Browse"
);
92
xml.printNodeBeginNl(
"argumentList"
);
93
xml.printArgument(
"ObjectID"
,
"in"
,
"A_ARG_TYPE_ObjectID"
);
94
xml.printArgument(
"BrowseFlag"
,
"in"
,
"A_ARG_TYPE_BrowseFlag"
);
95
xml.printArgument(
"Filter"
,
"in"
,
"A_ARG_TYPE_Filter"
);
96
xml.printArgument(
"StartingIndex"
,
"in"
,
"A_ARG_TYPE_Index"
);
97
xml.printArgument(
"RequestedCount"
,
"in"
,
"A_ARG_TYPE_Count"
);
98
xml.printArgument(
"SortCriteria"
,
"in"
,
"A_ARG_TYPE_SortCriteria"
);
99
xml.printArgument(
"Result"
,
"out"
,
"A_ARG_TYPE_Result"
);
100
xml.printArgument(
"NumberReturned"
,
"out"
,
"A_ARG_TYPE_Count"
);
101
xml.printArgument(
"TotalMatches"
,
"out"
,
"A_ARG_TYPE_Count"
);
102
xml.printArgument(
"UpdateID"
,
"out"
,
"A_ARG_TYPE_UpdateID"
);
103
xml.printNodeEnd(
"argumentList"
);
104
xml.printNodeEnd(
"action"
);
105
106
xml.printNodeBeginNl(
"action"
);
107
xml.printNode(
"name"
,
"GetSearchCapabilities"
);
108
xml.printNodeBeginNl(
"argumentList"
);
109
xml.printArgument(
"SearchCaps"
,
"out"
,
"SearchCapabilities"
);
110
xml.printNodeEnd(
"argumentList"
);
111
xml.printNodeEnd(
"action"
);
112
113
xml.printNodeBeginNl(
"action"
);
114
xml.printNode(
"name"
,
"GetSortCapabilities"
);
115
xml.printNodeBeginNl(
"argumentList"
);
116
xml.printArgument(
"SortCaps"
,
"out"
,
"SortCapabilities"
);
117
xml.printNodeEnd(
"argumentList"
);
118
xml.printNodeEnd(
"action"
);
119
120
xml.printNodeBeginNl(
"action"
);
121
xml.printNode(
"name"
,
"GetSystemUpdateID"
);
122
xml.printNodeBeginNl(
"argumentList"
);
123
xml.printArgument(
"Id"
,
"out"
,
"SystemUpdateID"
);
124
xml.printNodeEnd(
"argumentList"
);
125
xml.printNodeEnd(
"action"
);
126
127
/* Search action */
128
xml.printNodeBeginNl(
"action"
);
129
xml.printNode(
"name"
,
"Search"
);
130
xml.printNodeBeginNl(
"argumentList"
);
131
xml.printArgument(
"ContainerID"
,
"in"
,
"A_ARG_TYPE_ObjectID"
);
132
xml.printArgument(
"SearchCriteria"
,
"in"
,
"A_ARG_TYPE_SearchCriteria"
);
133
xml.printArgument(
"Filter"
,
"in"
,
"A_ARG_TYPE_Filter"
);
134
xml.printArgument(
"StartingIndex"
,
"in"
,
"A_ARG_TYPE_Index"
);
135
xml.printArgument(
"RequestedCount"
,
"in"
,
"A_ARG_TYPE_Count"
);
136
xml.printArgument(
"SortCriteria"
,
"in"
,
"A_ARG_TYPE_SortCriteria"
);
137
xml.printArgument(
"Result"
,
"out"
,
"A_ARG_TYPE_Result"
);
138
xml.printArgument(
"NumberReturned"
,
"out"
,
"A_ARG_TYPE_Count"
);
139
xml.printArgument(
"TotalMatches"
,
"out"
,
"A_ARG_TYPE_Count"
);
140
xml.printArgument(
"UpdateID"
,
"out"
,
"A_ARG_TYPE_UpdateID"
);
141
xml.printNodeEnd(
"argumentList"
);
142
xml.printNodeEnd(
"action"
);
143
144
/* UpdateObject action */
145
xml.printNodeBeginNl(
"action"
);
146
xml.printNode(
"name"
,
"UpdateObject"
);
147
xml.printNodeBeginNl(
"argumentList"
);
148
xml.printArgument(
"ObjectID"
,
"in"
,
"A_ARG_TYPE_ObjectID"
);
149
xml.printArgument(
"CurrentTagValue"
,
"in"
,
"A_ARG_TYPE_TagValueList"
);
150
xml.printArgument(
"NewTagValue"
,
"in"
,
"A_ARG_TYPE_TagValueList"
);
151
xml.printNodeEnd(
"argumentList"
);
152
xml.printNodeEnd(
"action"
);
153
154
xml.printNodeEnd(
"actionList"
);
155
156
xml.printNodeBeginNl(
"serviceStateTable"
);
157
158
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"yes\""
);
159
xml.printNode(
"name"
,
"TransferIDs"
);
160
xml.printNode(
"dataType"
,
"string"
);
161
xml.printNodeEnd(
"stateVariable"
);
162
163
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
164
xml.printNode(
"name"
,
"A_ARG_TYPE_ObjectID"
);
165
xml.printNode(
"dataType"
,
"string"
);
166
xml.printNodeEnd(
"stateVariable"
);
167
168
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
169
xml.printNode(
"name"
,
"A_ARG_TYPE_Result"
);
170
xml.printNode(
"dataType"
,
"string"
);
171
xml.printNodeEnd(
"stateVariable"
);
172
173
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
174
xml.printNode(
"name"
,
"A_ARG_TYPE_SearchCriteria"
);
175
xml.printNode(
"dataType"
,
"string"
);
176
xml.printNodeEnd(
"stateVariable"
);
177
178
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
179
xml.printNode(
"name"
,
"A_ARG_TYPE_BrowseFlag"
);
180
xml.printNode(
"dataType"
,
"string"
);
181
xml.printNodeBeginNl(
"allowedValueList"
);
182
xml.printNode(
"allowedValue"
,
"BrowseMetadata"
);
183
xml.printNode(
"allowedValue"
,
"BrowseDirectChildren"
);
184
xml.printNodeEnd(
"allowedValueList"
);
185
xml.printNodeEnd(
"stateVariable"
);
186
187
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
188
xml.printNode(
"name"
,
"A_ARG_TYPE_Filter"
);
189
xml.printNode(
"dataType"
,
"string"
);
190
xml.printNodeEnd(
"stateVariable"
);
191
192
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
193
xml.printNode(
"name"
,
"A_ARG_TYPE_SortCriteria"
);
194
xml.printNode(
"dataType"
,
"string"
);
195
xml.printNodeEnd(
"stateVariable"
);
196
197
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
198
xml.printNode(
"name"
,
"A_ARG_TYPE_Index"
);
199
xml.printNode(
"dataType"
,
"i4"
);
200
xml.printNodeEnd(
"stateVariable"
);
201
202
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
203
xml.printNode(
"name"
,
"A_ARG_TYPE_Count"
);
204
xml.printNode(
"dataType"
,
"ui4"
);
205
xml.printNodeEnd(
"stateVariable"
);
206
207
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
208
xml.printNode(
"name"
,
"A_ARG_TYPE_UpdateID"
);
209
xml.printNode(
"dataType"
,
"ui4"
);
210
xml.printNodeEnd(
"stateVariable"
);
211
212
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
213
xml.printNode(
"name"
,
"A_ARG_TYPE_TagValueList"
);
214
xml.printNode(
"dataType"
,
"string"
);
215
xml.printNodeEnd(
"stateVariable"
);
216
217
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
218
xml.printNode(
"name"
,
"SearchCapabilities"
);
219
xml.printNode(
"dataType"
,
"string"
);
220
xml.printNodeEnd(
"stateVariable"
);
221
222
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"no\""
);
223
xml.printNode(
"name"
,
"SortCapabilities"
);
224
xml.printNode(
"dataType"
,
"string"
);
225
xml.printNodeEnd(
"stateVariable"
);
226
227
xml.printNodeBeginNl(
"stateVariable"
,
"sendEvents=\"yes\""
);
228
xml.printNode(
"name"
,
"SystemUpdateID"
);
229
xml.printNode(
"dataType"
,
"ui4"
);
230
xml.printNodeEnd(
"stateVariable"
);
231
232
xml.printNodeEnd(
"serviceStateTable"
);
233
234
xml.printNodeEnd(
"scpd"
);
235
}
XMLPrinter.h
tiny_dlna::XMLPrinter
Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory effic...
Definition:
XMLPrinter.h:54
Generated by
1.9.6