maitretarot-devel-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Maitretarot-devel-fr] Auto-documentation du protocole


From: Yves Mettier
Subject: [Maitretarot-devel-fr] Auto-documentation du protocole
Date: Sun, 27 Apr 2003 18:56:49 +0200 (CEST)
User-agent: SquirrelMail/1.4.0

Coucou!

Je vous annonce une fonctionnalite interessante de cardgame_server: le 
protocole est
auto-documente a l'interieur de ce projet. En fait, il est maintenant 
obligatoire de
documenter le protocole pour pouvoir l'utiliser.

Cerise sur le gateau: une documentation au format docbook (sgml) peut etre 
generee
automatiquement par cardgame_server. Pour cela: cardgame_server 
--print-protocol >
fichier.sgml

Et petit rappel sur sgml:
- pour generer du html: db2html fichier.sgml
- pour generer du ps: db2ps fichier.sgml
- pour generer du pdf: db2pdf fichier.sgml



Voici comment ca marche:
Concretement, il y a deux parties dans le protocole: ce que le serveur envoie 
et ce
qu'il recoit.
- Ce qui est envoye se trouve dans protocol.c. Pour pouvoir envoyer un message, 
il faut
soit utiliser le protocole existant, soit remplir la structure 
protocol_send_info, qui
actuellement contient:
  - identifiant binaire (numerique), pour le programme
  - identifiant texte, pour le protocole
  - nombre d'arguments (-1 pour un nombre variable)
  - l'identifiant texte du message attendu en retour (ou NULL si pas besoin)
  - la syntaxe des arguments
  - un texte explicatif

- Ce qui est recu se trouve dans callbacks.c. Pour pouvoir traiter un message, 
il faut
enregistrer un callback qui se chargera de traiter la reponse. Ce callback se 
trouve
dans une table de hachage dont la clef est l'identifiant texte du protocole du 
message a
recevoir. Et la valeur est une structure contenant:
  - le callback
  - le nombre d'arguments souhaites
  - la syntaxe
  - un texte explicatif

Prochaine etape en ce qui me concerne: implementation des encheres.

Si des gens veulent participer, il y a des taches ouvertes sur le gestionnaire 
de taches
http://savannah.nongnu.org/pm/task.php?group_project_id=920&group_id=1543&func=browse

Et toujours, sur irc.freenode.net, on est la sur #maitretarot

Yves

-- 
- Homepage    - http://ymettier.free.fr - http://www.logicacmg.com -
- GPG key     - http://ymettier.free.fr/gpg.txt                    -
- Maitretarot - http://www.nongnu.org/maitretarot/                 -
- GTKtalog    - http://www.nongnu.org/gtktalog/                    -






reply via email to

[Prev in Thread] Current Thread [Next in Thread]