Gnration automatique du code dun device UPn P

  • Slides: 11
Download presentation
Génération automatique du code d'un device UPn. P Utilisation de l'utilitaire de Didier Donsez

Génération automatique du code d'un device UPn. P Utilisation de l'utilitaire de Didier Donsez Présentation écrite par Michel D’Hooge

Principe • Génération du code basée sur des feuilles de style XSLT à partir

Principe • Génération du code basée sur des feuilles de style XSLT à partir descriptions XML du device et des services associés.

Fichiers à créer pour la génération • build. xml • project. Device. properties •

Fichiers à créer pour la génération • build. xml • project. Device. properties • Device. xml • Service. xml

build. xml • Fichier Ant Appelle build. device. xml avec les propriétés contenues dans

build. xml • Fichier Ant Appelle build. device. xml avec les propriétés contenues dans le fichier project. Device. properties <project name="OSGi UPn. P Device Driver Source Generation" default="main" basedir=". "> <target name="main" depends="init, generate. class"> </target> <target name="init"> <mkdir dir="generated"/> </target> <target name="generate. class"> <ant antfile="build. device. xml" target="generate. class" inheritall="true"> <property name="properties" value="res/project. Device. properties" /> </ant> </target> <target name="clean"> <delete dir="generated"/> </target> </project>

project. Device. properties • Fichier contenant: Le chemin du fichier Device. xml Le package

project. Device. properties • Fichier contenant: Le chemin du fichier Device. xml Le package dans lequel on veut mettre le device Nom du device. description. xml. file= « chemin du Device. xml » package= « package de destination » device. name= « nom du Device »

Device. xml et Service. xml • Fichiers de description du device et des services

Device. xml et Service. xml • Fichiers de description du device et des services qu'il comporte.

Fichiers nécessaires à la génération • build. device. xml • device 2 build. xslt

Fichiers nécessaires à la génération • build. device. xml • device 2 build. xslt • device 2 class. xslt • ssdp 2 itf. xslt

Fichiers à créer build. xml Fichiers fournis Fichiers générés project. Device. properties (1) génération

Fichiers à créer build. xml Fichiers fournis Fichiers générés project. Device. properties (1) génération appel Ant build. Device. xml (2) Device. xml (3) device 2 build. xslt build. sources. xml Service. java (5) Device. xml (4) device 2 class. xslt Device. java ssdp 2 class. xslt Service. java ssdp 2 itf. xslt Service. Itf. java Service. java

Remarques • Pour éviter des bugs il faut écrire dans les fichiers xml le

Remarques • Pour éviter des bugs il faut écrire dans les fichiers xml le texte et les balises sur une même ligne: <service. Type>urn: ceced-org: service: command: 1</service. Type>

Fichiers créés Device Abstract. Upnp. Device 1 n Service Abstract. Upnp. Service 1 n

Fichiers créés Device Abstract. Upnp. Device 1 n Service Abstract. Upnp. Service 1 n Abstract. Upnp. State. Var 1 n Abstract. Upnp. Action Service State. Var Service

Pour finir • • Implémenter le modèle de comportement en passant des classes implémentant

Pour finir • • Implémenter le modèle de comportement en passant des classes implémentant les Service. Itf Mettre en place la gestion des évènements