Arduino DLNA Server
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tiny_dlna::XMLPrinter Struct Reference

Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory efficient to generate the data instead of using a predefined XML document. More...

#include <XMLPrinter.h>

Public Member Functions

 XMLPrinter ()=default
 
 XMLPrinter (Print &output)
 
void setOutput (Print &output)
 Defines the output. More...
 
size_t printXMLHeader ()
 
size_t printNode (XMLNode node)
 
size_t printNode (const char *node, XMLNode child, const char *attributes=nullptr)
 
size_t printNode (const char *node, Vector< XMLNode > children, const char *attributes=nullptr)
 
size_t printNode (const char *node, const char *txt=nullptr, const char *attributes=nullptr)
 
size_t printNode (const char *node, int txt, const char *attributes=nullptr)
 
size_t printNode (const char *node, std::function< size_t(void)> callback, const char *attributes=nullptr)
 
size_t printNodeBegin (const char *node, const char *attributes=nullptr, const char *ns=nullptr)
 
size_t printNodeBeginNl (const char *node, const char *attributes=nullptr, const char *ns=nullptr)
 
size_t printNodeEnd (const char *node, const char *ns=nullptr)
 

Protected Member Functions

size_t println (const char *txt)
 
size_t printChildren (Vector< XMLNode > &children)
 

Protected Attributes

Print * p_out = &Serial
 

Detailed Description

Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory efficient to generate the data instead of using a predefined XML document.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ XMLPrinter() [1/2]

tiny_dlna::XMLPrinter::XMLPrinter ( )
default

◆ XMLPrinter() [2/2]

tiny_dlna::XMLPrinter::XMLPrinter ( Print &  output)
inline

Member Function Documentation

◆ printChildren()

size_t tiny_dlna::XMLPrinter::printChildren ( Vector< XMLNode > &  children)
inlineprotected

◆ println()

size_t tiny_dlna::XMLPrinter::println ( const char *  txt)
inlineprotected

◆ printNode() [1/6]

size_t tiny_dlna::XMLPrinter::printNode ( const char *  node,
const char *  txt = nullptr,
const char *  attributes = nullptr 
)
inline

◆ printNode() [2/6]

size_t tiny_dlna::XMLPrinter::printNode ( const char *  node,
int  txt,
const char *  attributes = nullptr 
)
inline

◆ printNode() [3/6]

size_t tiny_dlna::XMLPrinter::printNode ( const char *  node,
std::function< size_t(void)>  callback,
const char *  attributes = nullptr 
)
inline

◆ printNode() [4/6]

size_t tiny_dlna::XMLPrinter::printNode ( const char *  node,
Vector< XMLNode children,
const char *  attributes = nullptr 
)
inline

◆ printNode() [5/6]

size_t tiny_dlna::XMLPrinter::printNode ( const char *  node,
XMLNode  child,
const char *  attributes = nullptr 
)
inline

◆ printNode() [6/6]

size_t tiny_dlna::XMLPrinter::printNode ( XMLNode  node)
inline

◆ printNodeBegin()

size_t tiny_dlna::XMLPrinter::printNodeBegin ( const char *  node,
const char *  attributes = nullptr,
const char *  ns = nullptr 
)
inline

◆ printNodeBeginNl()

size_t tiny_dlna::XMLPrinter::printNodeBeginNl ( const char *  node,
const char *  attributes = nullptr,
const char *  ns = nullptr 
)
inline

◆ printNodeEnd()

size_t tiny_dlna::XMLPrinter::printNodeEnd ( const char *  node,
const char *  ns = nullptr 
)
inline

◆ printXMLHeader()

size_t tiny_dlna::XMLPrinter::printXMLHeader ( )
inline

◆ setOutput()

void tiny_dlna::XMLPrinter::setOutput ( Print &  output)
inline

Defines the output.

Member Data Documentation

◆ p_out

Print* tiny_dlna::XMLPrinter::p_out = &Serial
protected

The documentation for this struct was generated from the following file: