My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
ElixirAPI  
Présentation des spécificités de l'API d'Elixir
Updated Oct 19, 2009 by pf.hug...@gmail.com

Introduction

Elixir fournit une suite de binding JavaScript pour les EFL. Mais celui-ci n'expose en rien un DOM de navigateur web. Il y a donc une petite API spécifique à Elixir et quelques règles quant à la définition des API des bindings exposés.

API Elixir

Tout d'abord, Elixir fournit un objet elx qui est le seul objet disponible lorsque le JavaScript est appelé. Cet objet a les propriétés suivantes :

  • print(...): Affiche tous les paramètres sur la ligne de commande.
  • sleep(s): Bloque l'application pendant s secondes.
  • usleep(ms): Bloque l'application pendant ms microsecondes.
  • usid(): Retourne une chaîne de caractères unique qualifiant le JavaScript en cours d'exécution.
  • gcid(): Retourne une chaîne de caractères unique qualifiant tous les JavaScript exécutés depuis le démarrage d'Elixir.
  • load(m): Charge le module m.
  • unload(m): Décharge le module m.
  • include(fichier, [[section], clef]): Inclut le fichier. Si c'est un fichier Eet, la section permet de spécifier une alternative à elixir/main et la clef permet de le déchiffrer si nécessaire.
  • parse(fichier, [[section], clef]): Permet de générer du texte à partir de n'importe quel document.
  • version(): Retourne la version d'Elixir.
  • gc(): Force l'exécution du Garbage Collector.
  • chdir(d): Change le répertoire courant.

Bindings

Elixir fournit actuellement les modules suivants :

  • dir
  • ecore
  • ecore_con
  • ecore_evas
  • ecore_file
  • ecore_job
  • edje
  • eet
  • evas
  • file
  • mix (aka: libSDL_mixer)
  • sqlite

Tous ces modules suivent l'API C correspondante à l'exception de fonction comme _evas`_`object`_`geometry`_`get_ qui retourne en JavaScript un objet avec tous les champs que la fonction peut récupérer.

Comment by dereck....@gmail.com, Mar 13, 2010

Juste une petite correction : ce qui est indiqué comme des propriétés sont en fait des méthodes ou fonctions (print(), sleep()...) l'objet elf fournis également la méthode suivante :

  • current() : Retourne un objet de type Elixir_File?

L'objet Elixir_File? contient des informations sur le fichier en cours d'exécution (d'après ce que j'ai pu observer). Deux propriétés sont accessibles sur cet objet :

  • filename : Donne le nom du fichier en cours d'exécution.
  • section : J'imagine que si le fichier en cours et un fichier Eet, la section a la même finalité que pour les méthodes include() et parse().

Enfin, j'ai également trouvé la propriété env sur l'objet elx. Cette propriété est un objet de classe elixir (tout comme elx) mais ne semble pas utilisée.

Comment by noukn...@gmail.com, Oct 21, 2010

"elx.env.isp" permet de savoir si le programme est executé sur Freebox ou sur AliceBox?, ou en dehors du FreeStore?. C'est très utile pour gérer les différences de touches au niveau des télécommandes.

Un code typique pour gérer les deux cas:

if (typeof(elx.env.isp) == "undefined") {

elx.print("je suis l'environnement de développement sur PC.\n");
} else if (elx.env.isp == "ALICE") {
elx.print("je suis une AliceBox?.\n");
} else if (elx.env.isp == "FREE") {
elx.print("je suis une Freebox.\n");
}


Sign in to add a comment
Powered by Google Project Hosting