Java et terminal-capability

Description

Bonjour,
Ca faisait longtemps que je n'avais pas depose de sources !
Depuis cette annee faisant beaucoup de C j'ai voulu essayer de coupler le C et le java
je me suis donc mis au JNI

J'ai voulu commence simplement en donnant la possibilite au java d'interagir avec le terminal
j'ai donc fait une classe Termcap avec une liste de fonction static native qui permettent de
1- initialiser l'utilisation des termcaps et sauver la line discipline
2- ne pas afficher les caracteres tape
3- ne pas traite les signaux genre ctrl-c
4- ne pas bufferiser l'entree (mode canonique ou non)
5- specifier le nombre minimal de caractere lu en mode non canonique
6- restaurer la line discipline
7- liberer la memoire (free la line discipline sauve)

d'autre fonctionnalitees seront a venir (bouger le curseur, des couleurs, clear l'ecran ....)

Ce code ne fonctionne que sous linux...
vous avez les sources C que vous pouvez compiler

demarche pour modifier les src:
ajouter, modifier, ou supprimer les fonctions que vous voulez dans Termcap.java
lancer le script generatejni.sh qui va compiler et creer le .h
copier le .h genere dans le dossier include dans le repertoire c_termcap
modifier JNIWrapper.c en consequence
ajotuer ou modifier les lignes que vous voulez dans les .c
faites un make re
copier le .so dans le repertoire java_termcap

NOTE: si vous voulez le mettre ailleur il faut modifier la ligne de compilation de maniere
a lui preciser le chemin du .so
par exemple vous pouvez le laisser dans le repertoire c_termcap et lancer test comme ceci:
(daedric@daedric-server ~/jni/java_termcap)java -Djava.library.path=../c_termcap/ Test

Conclusion :


voila
laissez des commentaires ou vos questions ^^

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.