Apresentação
Apresentação é a etapa final no processo UPnP. Se um dispositivo tiver uma URL para apresentação, um ponto de controle poderá recuperar uma página dessa URL e carregar a página em um navegador. Dependendo dos recursos da página de apresentação e do dispositivo, o ponto de controle pode controlar o dispositivo e exibir o status do dispositivo.
O caminho do recurso, que é passado para IUPnPRegistrar durante o registro, é onde todos os arquivos relevantes para a apresentação do dispositivo estão localizados. Os desenvolvedores de dispositivos podem fornecer páginas separadas para cada dispositivo inserido. A URL de apresentação no modelo de descrição do dispositivo pode ser uma URL absoluta ou uma URL relativa. Para URLs relativas, que são relativas ao caminho do recurso, o modelo de descrição do dispositivo deve conter um nome de arquivo. IUPnPRegistrar converte isso em uma URL com o local real. Para URLs absolutas, o local não é modificado.
Para dar suporte a scripts do lado do cliente em uma página de apresentação, as informações extras normalmente são acrescentadas à URL na forma de uma "cadeia de caracteres de consulta". As informações extras acrescentadas são a URL do documento de descrição do dispositivo e a UDN do dispositivo ou dispositivo inserido. A URL de descrição do dispositivo pode ser usada para carregar um documento de descrição no script e controlar o dispositivo por meio de seus serviços. O UDN é usado para selecionar um dispositivo inserido no dispositivo raiz.
O formato da URL de apresentação modificada é: a URL de apresentação real, um ponto de interrogação ("?"), a URL de descrição do dispositivo, um sinal de adição ("+"), o UDN do dispositivo. O ponto de interrogação indica o início da cadeia de caracteres de consulta.
Se a URL de apresentação no modelo de descrição do dispositivo fosse uma URL absoluta e já contivesse um ponto de interrogação ("?"), as informações extras não serão adicionadas à URL da apresentação.
Descrição | URL |
---|---|
No modelo de descrição do dispositivo | presentationURLMyDevice.html**/presentationURL** |
Gerado pelo host do dispositivo | presentationURLhttps://machinename/deviceID/MyDevice.html/?https://machine/upnphost/udhisapi.dll?content=uuid:487394 ... + UDN**/presentationURL** |
Um script do lado do cliente pode ter que extrair a URL de descrição do dispositivo da URL de apresentação para carregar o objeto IUPnPDescriptionDocument . Isso é feito pegando a cadeia de caracteres de consulta e encerrando-a no sinal de adição ("+").
Dim QueryString
QueryString = window.location.search
Dim DescURLString
DescURLString = Trim(Mid(QueryString,2,Instr(QueryString,"+")-2))& vbCrLf
Dim LightDesc
Set LightDesc = CreateObject("UPnP.DescriptionDocument.1")
LightDesc.Load(DescURLString)
No caso de uma página de apresentação para um dispositivo inserido, algum trabalho adicional é necessário. Depois de carregar o UPnPDescriptionDocument, o script deve obter a coleção de dispositivos inseridos e selecionar o dispositivo que corresponde ao UDN na cadeia de caracteres de consulta. O script a seguir mostra como selecionar o dispositivo inserido para a página de apresentação atual. Ele pressupõe que o LightDesc já esteja carregado.
Dim LightDevice
Set LightDevice = LightDesc.RootDevice
Dim EmbeddedDevices
set EmbeddedDevices = LightDevice.Children
Dim DeviceUdnString
DeviceUdnString = Trim(Mid(QueryString,Instr(QueryString,"+")+1,Len(QueryString)))
Dim Item
set Item = EmbeddedDevices.Item(DeviceUdnString)