Bonjour.
J'ai une librairie en C, et j'aimerais accéder à certaines de ces fonctions depuis java via JNI.
mais une de ces fonctions en C exporte une liste de struct. exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
typedef struct ma_struct_tag{
  int numero;
  char* nom;
} ma_struct;
/*...*/
int get_list_of_struct(ma_struct** list, int* list_size);
donc la fonction get_list_of_struct retourne une liste de cette structure...

j'aimerais pouvoir recuperer cette liste en java d'une façon ou d'une autre.
Je supposais faire une class qui corresponde a cette struct, et une fonction qui permette de recupérer une liste. quelque chose du genre:
class MaStruct{
int numero;
String nom;
}
/*...*/
public class MaJni{

static
{
System.loadLibrary("blablabla");
}

public native List get_list_of_struct();
}
Est-ce que c'est possible de faire quelque chose du genre?
et si oui... comment dans ma dll (dans di code C) je peux remplir une liste de MaStruct (qui est une classe déclarée en java)?

Si ce n'est pas possible, quelle méthode me conseillez-vous pour pouvoir obtenir en Java les valeurs de la liste de struct?

merci!