• Aucun résultat trouvé

Un service UPnP est décrit par un ensemble d'actions et de variables d'état. Voici la liste des actions proposée dans la contribution du 21 juillet 2008 pour le SoftwareManagement Service. Les actions sont présentées dans la syntaxe définie par le Forum UPnP. Huit actions de déploiement sont définies : Download(), Remove(), SetUp(), Install(), Update(), Uninstall(), Start(), Stop(). Une action d'interrogation d'état est associée à

1 Proposition n°dsl2008.689.00 "Proposal for Enhanced Application Management via TR-069" présentée par H. Kirksey, Motive, et tirée d'une présentation de Levent Gurgen et de l'auteur.

2

chaque type d'entité logicielle : GetDPState(), GetDUState(), GetEUState(). Quatre actions d'interrogations de l'état des listes d'entités sont spécifiées : GetDPIDs(), GetDUIDs(), GetEUIDs(), GetActiveEUIDs(). Les huit actions de déploiement initient des opérations atomiques et isolées de déploiement. Chacune des actions renvoie un identifiant d'opération. Une action d'interrogation de l'état d'une opération, GetOperationState(), et une action d'interrogation de la liste des opérations en cours, GetOperationIDs() sont définies.

Voici le détail des actions sur les paquetages de déploiement (DPs) :

• Download(in uri DPURI, in boolean HandleDependencies, out ui4 OperationID) : initie le téléchargement d'un DP à partir d'une adresse au format Universal Resource Identifier (DPURI). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DPs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances manquantes soient aussi téléchargées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse.

• Remove(in ui4 DPID, in boolean HandleDependencies, out ui4 OperationID) : initie le retrait d'un DP à partir d'un identifiant (DPID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DPs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances non utilisées soient aussi retirées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse.

• SetUp(in uri DPURI, in string OptionalParameters, in boolean HandleDependencies, out ui4 OperationID) : initie l'installation du contenu d'un DP à partir d'un identifiant (DPID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DPs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances soient aussi installées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse.

• GetDPState(in ui4 DPID, out string DPState) : interroge l'état (DPState) d'un DP identifié par son identifiant DPID. La valeur de l'état retournée peut être DOWNLOADING, DOWNLOADED, REMOVING, REMOVED.

• GetDPIDs(out string DPIDs) : retourne la liste des DPs dans l'état DOWNLOADED.

Voici le détail des actions sur les unités de déploiement (DUs) :

• Install(in uri DUURI, in string OptionalParameters, in boolean HandleDependencies, out ui4 OperationID) : initie l'installation d'un DU à partir d'une adresse au format Universal Resource Identifier (DUURI). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DUs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances soient aussi installées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse. La chaine de caractères d'entrée OptionalParameters permet de spécifier des paramètres supplémentaires spécifiques à la plateforme visée, par exemple, l'indication d'un AppDomain où installer un Assembly .NET ou encore l'indication d'un fichier de configuration sur la plateforme Linux.

• Update(in ui4 DUID, in uri NewDUURI, in boolean HandleDependencies, out ui4 OperationID) : initie la mise à jour d'un DU à partir d'un identifiant (DUID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DUs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances soient aussi mises à jour. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse. Le paramètre

d'entrée NewDUURI permet d'indiquer que la nouvelle version souhaitée du DU se trouve à une adresse (URI) différente.

• Uninstall(in ui4 DUID, in boolean HandleDependencies, out ui4 OperationID) : initie la désinstallation d'un DU à partir d'un identifiant (DUID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre DUs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances non utilisées soient aussi désinstallées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse.

• GetDUState(in ui4 DUID, out string DUState) : interroge l'état (DUState) d'un DU identifié par son identifiant DUID. La valeur de l'état retournée peut être

INSTALLING, INSTALLED, RESOLVED, UNINSTALLING,

UNINSTALLED.

• GetDUIDs(out string DUIDs) : retourne la liste des DUs dans l'état INSTALLED.

Voici le détail des actions sur les unités d'exécution (EUs) :

• Start(in ui4 EUID, in string OptionalParameters, in boolean HandleDependencies, out ui4 OperationID) : initie le démarrage d'un EU à partir d'un identifiant (EUID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre EUs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances soient aussi démarrées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse. La chaine de caractères d'entrée OptionalParameters permet de spécifier des paramètres supplémentaires spécifiques à la plateforme et l'application visée, par exemple, l'indication de paramètres d'entrée pour l'invocation de la méthode principale d'exécution d'un programme.

• Stop(in ui4 EUID, in boolean HandleDependencies, out ui4 OperationID) : initie l'arrêt d'un EU à partir d'un identifiant (EUID). La valeur booléenne HandleDependencies indique le souhait que les dépendances entre EUs soient gérées par la plateforme elle-même, c'est-à-dire que les dépendances soient aussi arrétées. L'identifiant d'opération OperationID est généré par l'équipement et retourné en réponse.

• GetEUState(in ui4 EUID, out string EUState) : interroge l'état (EUState) d'un EU identifié par son identifiant EUID. La valeur de l'état retournée peut être STARTING, STARTED, STOPPING, STOPPED.

• GetEUIDs(out string EUIDs) : retourne la liste des EUs existants.

• GetActiveEUIDs(out string ActiveEUIDs) : retourne la liste des EUs dans l'état ACTIVE.

Voici le détail des actions d'interrogation sur l'état des opérations :

• GetOperationState(in ui4 OperationID, out string OperationState, out ui4 UnitID) : interroge l'état (OperationState) d'une opération identifiée par son identifiant OperationID. La valeur de l'état retournée peut être IN_PROGRESS, COMPLETED, ERROR. L'identifiant de l'entité logicielle visée par l'opération est retourné, s'il est disponible, par la valeur UnitID.

• GetOperationIDs(out string OperationIDs) : retourne la liste des operations dans l'état IN_PROGRESS.