84 static char result[80] = {0};
144 if (
icons.size()==0){
174 const char*
base_url =
"http://localhost:9876/dlna";
175 const char*
udn =
"uuid:09349455-2941-4cf7-9847-0dd5ab210e97";
176 const char*
ns =
"xmlns=\"urn:schemas-upnp-org:device-1-0\"";
194 result +=
xml.
printNode(
"specVersion", printSpecVersionB);
217 result +=
xml.
printNode(
"serviceList", printServiceListCb);
222 char major[5], minor[5];
223 sprintf(major,
"%d", this->version_major);
224 sprintf(minor,
"%d", this->version_minor);
231 auto printServiceCb =
264 auto printIconDlnaInfoCb =
#define DLNA_MAX_URL_LEN
Definition: DLNAServiceInfo.h:5
Setup of a Basic DLNA Control Point. The control point.
Definition: DLNAControlPointMgr.h:32
Device Attributes and generation of XML using urn:schemas-upnp-org:device-1-0. We could just return a...
Definition: DLNADevice.h:27
Vector< DLNAServiceInfo > services
Definition: DLNADevice.h:188
const char * getSerialNumber()
Definition: DLNADevice.h:105
const char * model_number
Definition: DLNADevice.h:184
void setManufacturerURL(const char *url)
Definition: DLNADevice.h:96
size_t printService(void *srv)
Definition: DLNADevice.h:238
void setDeviceType(const char *st)
Definition: DLNADevice.h:44
void setSerialNumber(const char *sn)
Definition: DLNADevice.h:104
void setActive(bool flag)
Definition: DLNADevice.h:158
const char * getModelDescription()
Definition: DLNADevice.h:99
const char * model_description
Definition: DLNADevice.h:181
void setBaseURL(const char *url)
Defines the base url.
Definition: DLNADevice.h:55
const char * friendly_name
Definition: DLNADevice.h:178
uint32_t getTimestamp()
Returns the time when this object has been updated.
Definition: DLNADevice.h:156
const char * getModelNumber()
Definition: DLNADevice.h:103
void setModelDescription(const char *descr)
Definition: DLNADevice.h:98
const char * device_type
Definition: DLNADevice.h:177
Vector< DLNAServiceInfo > & getServices()
Definition: DLNADevice.h:123
const char * getModelName()
Definition: DLNADevice.h:101
Icon icon
Definition: DLNADevice.h:187
const char * manufacturer_url
Definition: DLNADevice.h:180
void setFriendlyName(const char *name)
Definition: DLNADevice.h:92
const char * universal_product_code
Definition: DLNADevice.h:186
size_t printRoot()
Definition: DLNADevice.h:191
void clear()
Definition: DLNADevice.h:125
bool is_active
Definition: DLNADevice.h:168
const char * model_url
Definition: DLNADevice.h:183
IPAddress localhost
Definition: DLNADevice.h:171
const char * model_name
Definition: DLNADevice.h:182
const char * getManufacturer()
Definition: DLNADevice.h:95
const char * manufacturer
Definition: DLNADevice.h:179
DLNAServiceInfo & getService(const char *id)
Finds a service definition by name.
Definition: DLNADevice.h:113
virtual void setupServices(HttpServer &server, IUDPService &udp)
Definition: DLNADevice.h:164
size_t printIconList()
Definition: DLNADevice.h:254
~DLNADevice()
Definition: DLNADevice.h:33
IPAddress getIPAddress()
Definition: DLNADevice.h:80
size_t printDevice()
Definition: DLNADevice.h:201
Url & getDeviceURL()
This method returns base url/device.xml.
Definition: DLNADevice.h:67
const char * base_url
Definition: DLNADevice.h:174
size_t printSpecVersion()
Definition: DLNADevice.h:221
void setManufacturer(const char *man)
Definition: DLNADevice.h:94
void print(Print &out)
renderes the device xml
Definition: DLNADevice.h:36
const char * getManufacturerURL()
Definition: DLNADevice.h:97
const char * getFriendlyName()
Definition: DLNADevice.h:93
void setModelNumber(const char *number)
Definition: DLNADevice.h:102
size_t printServiceList()
Definition: DLNADevice.h:228
void addService(DLNAServiceInfo s)
Adds a service defintion.
Definition: DLNADevice.h:110
Url device_url
Definition: DLNADevice.h:170
const char * serial_number
Definition: DLNADevice.h:185
void setUniveralProductCode(const char *upc)
Definition: DLNADevice.h:106
const char * getBaseURL()
Provides the base url.
Definition: DLNADevice.h:58
void setIPAddress(IPAddress address)
Definition: DLNADevice.h:78
size_t printIconDlnaInfo(Icon &icon)
Definition: DLNADevice.h:271
void setNS(const char *ns)
Definition: DLNADevice.h:90
int version_minor
Definition: DLNADevice.h:173
void setUDN(const char *id)
Define the udn uuid.
Definition: DLNADevice.h:49
const char * ns
Definition: DLNADevice.h:176
const char * getDeviceType()
Definition: DLNADevice.h:46
void clearIcons()
Overwrite the default icon.
Definition: DLNADevice.h:141
Icon getIcon(int idx=0)
Definition: DLNADevice.h:143
const char * getUDN()
Provide the udn uuid.
Definition: DLNADevice.h:52
uint64_t timestamp
Definition: DLNADevice.h:167
const char * getIPStr()
Provides the local address as string.
Definition: DLNADevice.h:83
void setModelName(const char *name)
Definition: DLNADevice.h:100
const char * getNS()
Definition: DLNADevice.h:91
int version_major
Definition: DLNADevice.h:172
const char * udn
Definition: DLNADevice.h:175
void addIcon(Icon icon)
Definition: DLNADevice.h:142
void updateTimestamp()
Update the timestamp.
Definition: DLNADevice.h:153
virtual void loop()
Definition: DLNADevice.h:160
XMLPrinter xml
Definition: DLNADevice.h:169
const char * getUniveralProductCode()
Definition: DLNADevice.h:107
Vector< Icon > icons
Definition: DLNADevice.h:189
DLNADevice(bool ok=true)
Definition: DLNADevice.h:32
Attributes needed for the DLNA Service Definition.
Definition: DLNAServiceInfo.h:16
const char * scpd_url
Definition: DLNAServiceInfo.h:35
const char * service_type
Definition: DLNAServiceInfo.h:33
const char * service_id
Definition: DLNAServiceInfo.h:34
const char * control_url
Definition: DLNAServiceInfo.h:36
const char * event_sub_url
Definition: DLNAServiceInfo.h:37
A Simple Header only implementation of Http Server that allows the registration of callback functions...
Definition: HttpServer.h:24
Abstract Interface for UDP API.
Definition: IUDPService.h:34
Information about the icon.
Definition: Icon.h:10
const char * icon_url
Definition: Icon.h:16
int width
Definition: Icon.h:13
int height
Definition: Icon.h:14
int depth
Definition: Icon.h:15
void log(DlnaLogLevel current_level, const char *fmt...)
Print log message.
Definition: Logger.h:40
A simple wrapper to provide string functions on char*. If the underlying char* is a const we do not a...
Definition: StrView.h:19
virtual bool isEmpty()
checks if the string is empty
Definition: StrView.h:376
const char * buildPath(const char *start, const char *p1=nullptr, const char *p2=nullptr)
Definition: StrView.h:739
virtual bool endsWith(const char *str)
checks if the string ends with the indicated substring
Definition: StrView.h:187
virtual bool contains(const char *str)
checks if the string contains a substring
Definition: StrView.h:279
String implementation which keeps the data on the heap. We grow the allocated memory only if the copy...
Definition: Str.h:22
const char * c_str()
provides the string value as const char*
Definition: Str.h:188
URL parser which breaks a full url string up into its individual parts.
Definition: Url.h:18
Vector implementation which provides the most important methods as defined by std::vector....
Definition: Vector.h:21
Parses an DLNA device xml string to fill the DLNADevice data structure.
Definition: XMLDeviceParser.h:17
Definition: Allocator.h:6
@ DlnaDebug
Definition: Logger.h:16
LoggerClass DlnaLogger
Definition: Logger.cpp:5
Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory effic...
Definition: XMLPrinter.h:31
size_t printNode(XMLNode node)
Definition: XMLPrinter.h:43
void setOutput(Print &output)
Defines the output.
Definition: XMLPrinter.h:36
size_t printXMLHeader()
Definition: XMLPrinter.h:38