Présentation
La présentation est la dernière étape du processus UPnP. Si un appareil a une URL pour la présentation, un point de contrôle peut récupérer une page à partir de cette URL et charger la page dans un navigateur. Selon les fonctionnalités de la page de présentation et de l’appareil, le point de contrôle peut contrôler l’appareil et afficher les status de l’appareil.
Le chemin de la ressource, qui est transmis à IUPnPRegistrar lors de l’inscription, est l’emplacement où se trouvent tous les fichiers pertinents pour la présentation de l’appareil. Les développeurs d’appareils peuvent fournir des pages distinctes pour chaque appareil incorporé. L’URL de présentation dans le modèle de description de l’appareil peut être une URL absolue ou une URL relative. Pour les URL relatives, qui sont relatives au chemin de la ressource, le modèle de description de l’appareil doit contenir un nom de fichier. IUPnPRegistrar le convertit en URL avec l’emplacement réel. Pour les URL absolues, l’emplacement n’est pas modifié.
Pour prendre en charge les scripts côté client dans une page de présentation, des informations supplémentaires sont normalement ajoutées à l’URL sous la forme d’une « chaîne de requête ». Les informations supplémentaires qui sont ajoutées sont l’URL du document de description de l’appareil et l’UDN de l’appareil ou de l’appareil incorporé. L’URL de description de l’appareil peut être utilisée pour charger un document de description dans le script, puis contrôler l’appareil via ses services. L’UDN est utilisé pour sélectionner un appareil incorporé à partir de l’appareil racine.
Le format de l’URL de présentation modifiée est : l’URL de présentation réelle, un point d’interrogation (« ? »), l’URL de description de l’appareil, un signe plus (« + »), l’UDN de l’appareil. Le point d’interrogation indique le début de la chaîne de requête.
Si l’URL de présentation dans le modèle de description de l’appareil était une URL absolue et qu’elle contenait déjà un point d’interrogation (« ? »), les informations supplémentaires ne sont pas ajoutées à l’URL de présentation.
Description | URL |
---|---|
Dans le modèle de description de l’appareil | presentationURLMyDevice.html**/presentationURL** |
Généré par l’hôte de l’appareil | presentationURLhttps://machinename/deviceID/MyDevice.html/?https://machine/upnphost/udhisapi.dll?content=uuid:487394 ... + UDN**/presentationURL** |
Un script côté client peut avoir à extraire l’URL de description de l’appareil à partir de l’URL de présentation pour charger l’objet IUPnPDescriptionDocument . Pour ce faire, prenez la chaîne de requête et la terminez au signe plus (« + »).
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)
Dans le cas d’une page de présentation pour un appareil incorporé, un travail supplémentaire est nécessaire. Après avoir chargé UPnPDescriptionDocument, le script doit obtenir la collection d’appareils incorporés, puis sélectionner l’appareil qui correspond au nom de l’utilisateur dans la chaîne de requête. Le script suivant montre comment sélectionner l’appareil incorporé pour la page de présentation actuelle. Il suppose que LightDesc est déjà chargé.
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)