1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
JNIEXPORT void JNICALL Java_MaClasse_MaMethode(JNIEnv *env, jobject obj, jobject monObjet){
jclass class;
jfieldID fieldID;
jclass subclass;
jobject monSousObjet;
int monEntier;
....
/* Recuperation de la classe de monObjet */
class = (*env)->GetObjectClass(env,monObjet);
/* Recuperation du fieldID du "sous-objet" */
fieldID = (*env)->GetFieldID(env,class,"mySubObject","Ljava/lang/Object ;");
/* Recuperation du "sous-objet" proprement dit */
monSousObjet = (*env)->GetObjectField(env,monObjet,fieldID);
/* Recuperation de la classe du "sous-objet" pour acceder à ses champs */
subclass = (*env)->GetObjectClass(env,monSousObjet);
...
/* Recuperation d'un champ de type entier de mon sous-objet */
fieldID = (*env)->GetFieldID(env,subclass,"myInteger","I");
monEntier = (*env)->GetIntegerField(env,monSousObjet,fieldID); |
Partager