<# 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; <{ 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 urlBase = webserver.GetBaseUrl(); std::string presentationUrl = webserver.GetPresentationUrl(); std::string staticContentUrl = webserver.GetStaticContentUrl(); std::string serviceUrl = webserver.GetServiceUrl(); std::string controlUrl = webserver.GetControlUrl(); reply.setContentType("application/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 $> <$ urlBase $><$ presentationUrl $> DMS-1.50 <{ 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 $> <$ urlBase $><$ serviceUrl $><$ serviceDescription.SCPDXML $> <$ controlUrl $><$ serviceDescription.controlDescriptor $> <$ controlUrl $><$ serviceDescription.eventSubscriberDescriptor $> % }; <{ 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 $> <$ urlBase $><$ staticContentUrl $><$ (*it).filename $> % };