<# This is the Device Description File It contains the device and service descriptions of the media server. #> <%pre> #include #include #include "../include/tools.h" #include "../include/server.h" #include "../include/service.h" #include "../include/webserver.h" #include "../include/config.h" using namespace upnp; <%cpp> upnp::cMediaServer* server = cMediaServer::GetInstance(); const upnp::cWebserver& webserver = server->GetWebserver(); const upnp::cMediaServer::Description& serverDescription = server->GetServerDescription(); std::string deviceUUID = server->GetDeviceUUID(); std::string presentationUrl = webserver.GetPresentationUrl(); std::string staticContentUrl = webserver.GetStaticContentUrl(); std::string serviceUrl = webserver.GetServiceUrl(); std::string controlUrl = webserver.GetControlUrl(); reply.setContentType("text/xml"); 1 0 urn:schemas-upnp-org:device:MediaServer:1 <$ serverDescription.friendlyName $> <$ serverDescription.manufacturer $> <$ serverDescription.manufacturerURL $> <$ serverDescription.modelDescription $> <$ serverDescription.modelName $> <$ serverDescription.modelNumber $> <$ serverDescription.modelURL $> <$ serverDescription.serialNumber $> <$ deviceUUID $> <$ presentationUrl $> DMS-1.50 <%cpp> const cMediaServer::serviceMap& services = server->GetServices(); for(cMediaServer::serviceMap::const_iterator it = services.begin(); it != services.end(); ++it){ const cUPnPService::Description& serviceDescription = (*it).second->GetServiceDescription(); <$ serviceDescription.serviceType $> <$ serviceDescription.serviceID $> <$ serviceUrl $><$ serviceDescription.SCPDXML $> <$ controlUrl $><$ serviceDescription.controlDescriptor $> <$ controlUrl $><$ serviceDescription.eventSubscriberDescriptor $> <%cpp> }; <%cpp> const cMediaServer::iconList& icons = server->GetServerIcons(); for(cMediaServer::iconList::const_iterator it = icons.begin(); it != icons.end(); ++it){ <$ (*it).profile.mime $> <$ (*it).profile.width $> <$ (*it).profile.height $> <$ (int)(*it).profile.bitDepth $> <$ staticContentUrl $><$ (*it).filename $> <%cpp> };