35        "scpd", 
"xmlns=\"urn:schemas-upnp-org:service-1-0\"");
 
   45    result += xml.
printNode(
"name", 
"GetProtocolInfo");
 
   47    result += xml.
printArgument(
"Source", 
"out", 
"SourceProtocolInfo");
 
   48    result += xml.
printArgument(
"Sink", 
"out", 
"SinkProtocolInfo");
 
   54    result += xml.
printNode(
"name", 
"GetCurrentConnectionIDs");
 
   56    result += xml.
printArgument(
"ConnectionIDs", 
"out", 
"CurrentConnectionIDs");
 
   62    result += xml.
printNode(
"name", 
"GetCurrentConnectionInfo");
 
   65        xml.
printArgument(
"ConnectionID", 
"in", 
"A_ARG_TYPE_ConnectionID");
 
   66    result += xml.
printArgument(
"RcsID", 
"out", 
"A_ARG_TYPE_RcsID");
 
   68        xml.
printArgument(
"AVTransportID", 
"out", 
"A_ARG_TYPE_AVTransportID");
 
   70        xml.
printArgument(
"ProtocolInfo", 
"out", 
"A_ARG_TYPE_ProtocolInfo");
 
   72                                "A_ARG_TYPE_ConnectionManager");
 
   74        xml.
printArgument(
"PeerConnectionID", 
"out", 
"A_ARG_TYPE_ConnectionID");
 
   75    result += xml.
printArgument(
"Direction", 
"out", 
"A_ARG_TYPE_Direction");
 
   76    result += xml.
printArgument(
"Status", 
"out", 
"A_ARG_TYPE_ConnectionStatus");
 
   83    result += xml.
printNode(
"name", 
"SourceProtocolInfo");
 
   84    result += xml.
printNode(
"dataType", 
"string");
 
   88    result += xml.
printNode(
"name", 
"SinkProtocolInfo");
 
   89    result += xml.
printNode(
"dataType", 
"string");
 
   93    result += xml.
printNode(
"name", 
"CurrentConnectionIDs");
 
   94    result += xml.
printNode(
"dataType", 
"string");
 
   98    result += xml.
printNode(
"name", 
"A_ARG_TYPE_ConnectionStatus");
 
   99    result += xml.
printNode(
"dataType", 
"string");
 
  101    result += xml.
printNode(
"allowedValue", 
"OK");
 
  102    result += xml.
printNode(
"allowedValue", 
"ContentFormatMismatch");
 
  103    result += xml.
printNode(
"allowedValue", 
"InsufficientBandwidth");
 
  104    result += xml.
printNode(
"allowedValue", 
"UnreliableChannel");
 
  105    result += xml.
printNode(
"allowedValue", 
"Unknown");
 
  110    result += xml.
printNode(
"name", 
"A_ARG_TYPE_ConnectionManager");
 
  111    result += xml.
printNode(
"dataType", 
"string");
 
  115    result += xml.
printNode(
"name", 
"A_ARG_TYPE_Direction");
 
  116    result += xml.
printNode(
"dataType", 
"string");
 
  118    result += xml.
printNode(
"allowedValue", 
"Input");
 
  119    result += xml.
printNode(
"allowedValue", 
"Output");
 
  124    result += xml.
printNode(
"name", 
"A_ARG_TYPE_ProtocolInfo");
 
  125    result += xml.
printNode(
"dataType", 
"string");
 
  129    result += xml.
printNode(
"name", 
"A_ARG_TYPE_ConnectionID");
 
  130    result += xml.
printNode(
"dataType", 
"i4");
 
  134    result += xml.
printNode(
"name", 
"A_ARG_TYPE_AVTransportID");
 
  135    result += xml.
printNode(
"dataType", 
"i4");
 
  139    result += xml.
printNode(
"name", 
"A_ARG_TYPE_RcsID");
 
  140    result += xml.
printNode(
"dataType", 
"i4");
 
  175        "scpd", 
"xmlns=\"urn:schemas-upnp-org:service-1-0\"");
 
  186    result += xml.
printNode(
"name", 
"GetSearchCapabilities");
 
  189    result += xml.
printNode(
"name", 
"SearchCaps");
 
  190    result += xml.
printNode(
"direction", 
"out");
 
  191    result += xml.
printNode(
"relatedStateVariable", 
"SearchCapabilities");
 
  198    result += xml.
printNode(
"name", 
"GetSortCapabilities");
 
  201    result += xml.
printNode(
"name", 
"SortCaps");
 
  202    result += xml.
printNode(
"direction", 
"out");
 
  203    result += xml.
printNode(
"relatedStateVariable", 
"SortCapabilities");
 
  210    result += xml.
printNode(
"name", 
"GetSystemUpdateID");
 
  214    result += xml.
printNode(
"direction", 
"out");
 
  215    result += xml.
printNode(
"relatedStateVariable", 
"SystemUpdateID");
 
  222    result += xml.
printNode(
"name", 
"Browse");
 
  224    result += xml.
printArgument(
"ObjectID", 
"in", 
"A_ARG_TYPE_ObjectID");
 
  225    result += xml.
printArgument(
"BrowseFlag", 
"in", 
"A_ARG_TYPE_BrowseFlag");
 
  226    result += xml.
printArgument(
"Filter", 
"in", 
"A_ARG_TYPE_Filter");
 
  227    result += xml.
printArgument(
"StartingIndex", 
"in", 
"A_ARG_TYPE_Index");
 
  228    result += xml.
printArgument(
"RequestedCount", 
"in", 
"A_ARG_TYPE_Count");
 
  229    result += xml.
printArgument(
"SortCriteria", 
"in", 
"A_ARG_TYPE_SortCriteria");
 
  230    result += xml.
printArgument(
"Result", 
"out", 
"A_ARG_TYPE_Result");
 
  231    result += xml.
printArgument(
"NumberReturned", 
"out", 
"A_ARG_TYPE_Count");
 
  232    result += xml.
printArgument(
"TotalMatches", 
"out", 
"A_ARG_TYPE_Count");
 
  233    result += xml.
printArgument(
"UpdateID", 
"out", 
"A_ARG_TYPE_UpdateID");
 
  239    result += xml.
printNode(
"name", 
"Search");
 
  241    result += xml.
printArgument(
"ContainerID", 
"in", 
"A_ARG_TYPE_ObjectID");
 
  242    result += xml.
printArgument(
"SearchCriteria", 
"in", 
"A_ARG_TYPE_SearchCriteria");
 
  243    result += xml.
printArgument(
"Filter", 
"in", 
"A_ARG_TYPE_Filter");
 
  244    result += xml.
printArgument(
"StartingIndex", 
"in", 
"A_ARG_TYPE_Index");
 
  245    result += xml.
printArgument(
"RequestedCount", 
"in", 
"A_ARG_TYPE_Count");
 
  246    result += xml.
printArgument(
"SortCriteria", 
"in", 
"A_ARG_TYPE_SortCriteria");
 
  247    result += xml.
printArgument(
"Result", 
"out", 
"A_ARG_TYPE_Result");
 
  248    result += xml.
printArgument(
"NumberReturned", 
"out", 
"A_ARG_TYPE_Count");
 
  249    result += xml.
printArgument(
"TotalMatches", 
"out", 
"A_ARG_TYPE_Count");
 
  250    result += xml.
printArgument(
"UpdateID", 
"out", 
"A_ARG_TYPE_UpdateID");
 
  256    result += xml.
printNode(
"name", 
"UpdateObject");
 
  258    result += xml.
printArgument(
"ObjectID", 
"in", 
"A_ARG_TYPE_ObjectID");
 
  259    result += xml.
printArgument(
"CurrentTagValue", 
"in", 
"A_ARG_TYPE_TagValueList");
 
  260    result += xml.
printArgument(
"NewTagValue", 
"in", 
"A_ARG_TYPE_TagValueList");
 
  269    result += xml.
printNode(
"name", 
"TransferIDs");
 
  270    result += xml.
printNode(
"dataType", 
"string");
 
  274    result += xml.
printNode(
"name", 
"A_ARG_TYPE_ObjectID");
 
  275    result += xml.
printNode(
"dataType", 
"string");
 
  279    result += xml.
printNode(
"name", 
"A_ARG_TYPE_Result");
 
  280    result += xml.
printNode(
"dataType", 
"string");
 
  284    result += xml.
printNode(
"name", 
"A_ARG_TYPE_SearchCriteria");
 
  285    result += xml.
printNode(
"dataType", 
"string");
 
  289    result += xml.
printNode(
"name", 
"A_ARG_TYPE_BrowseFlag");
 
  290    result += xml.
printNode(
"dataType", 
"string");
 
  292    result += xml.
printNode(
"allowedValue", 
"BrowseMetadata");
 
  293    result += xml.
printNode(
"allowedValue", 
"BrowseDirectChildren");
 
  298    result += xml.
printNode(
"name", 
"A_ARG_TYPE_Filter");
 
  299    result += xml.
printNode(
"dataType", 
"string");
 
  303    result += xml.
printNode(
"name", 
"A_ARG_TYPE_SortCriteria");
 
  304    result += xml.
printNode(
"dataType", 
"string");
 
  308    result += xml.
printNode(
"name", 
"A_ARG_TYPE_Index");
 
  309    result += xml.
printNode(
"dataType", 
"i4");
 
  313    result += xml.
printNode(
"name", 
"A_ARG_TYPE_Count");
 
  314    result += xml.
printNode(
"dataType", 
"ui4");
 
  318    result += xml.
printNode(
"name", 
"A_ARG_TYPE_UpdateID");
 
  319    result += xml.
printNode(
"dataType", 
"ui4");
 
  323    result += xml.
printNode(
"name", 
"A_ARG_TYPE_TagValueList");
 
  324    result += xml.
printNode(
"dataType", 
"string");
 
  328    result += xml.
printNode(
"name", 
"SearchCapabilities");
 
  329    result += xml.
printNode(
"dataType", 
"string");
 
  333    result += xml.
printNode(
"name", 
"SortCapabilities");
 
  334    result += xml.
printNode(
"dataType", 
"string");
 
  338    result += xml.
printNode(
"name", 
"SystemUpdateID");
 
  339    result += xml.
printNode(
"dataType", 
"ui4");
 
Abstract DLNA Descriptor Generation.
Definition: DLNADescr.h:9
 
ContentDirectory SCPD descriptor for MediaServer.
Definition: DLNAMediaServerDescr.h:160
 
size_t printDescr(Print &out) override
Emit ContentDirectory SCPD XML.
Definition: DLNAMediaServerDescr.h:170
 
Definition: AllocationTracker.h:9
 
Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory effic...
Definition: XMLPrinter.h:55
 
size_t printNodeBeginNl(const char *node, const char *attributes=nullptr, const char *ns=nullptr)
Prints the beginning of an XML node and a newline.
Definition: XMLPrinter.h:274
 
size_t printNode(XMLNode node)
Prints an XML node from XMLNode struct.
Definition: XMLPrinter.h:88
 
size_t printNodeEnd(const char *node, const char *ns=nullptr)
Prints the end of an XML node.
Definition: XMLPrinter.h:287
 
size_t printArgument(const char *name, const char *direction, const char *relatedStateVariable=nullptr)
Helper to print a UPnP <argument> element with name, direction and optional relatedStateVariable.
Definition: XMLPrinter.h:202
 
size_t printXMLHeader()
Prints the XML header.
Definition: XMLPrinter.h:78