-
callback depuis C
bonjour,
Dans le cadre de l'interfacage avec une bibliothèque C, je souhaiterais savoir comment faire pour binder une fonction C qui enregistre un callback. Dans la documentation il est expliqué comment faire dans le cas où la fonction d'enregistrement de fonction de rappel n'enregistre qu'un seul handler, mais pas comment faire s'il est susceptible d'y en avoir plusieurs (en effet d'après la méthode du manuel, si une deuxième fonction de rappel est enregistrée, elle masquera la première).
merci d'avance pour votre aide
-
est-ce impossible ?
J'ai trouvé un exemple existant du cas de figure où une fonction est susceptible d'enregistrer plusieurs callback dans le binding LablGlut avec la fonction glutTimerFunc().
Malheureusement la solution employée n'est pas transposable pour d'autre binding, car dans ce cas précis la solution utilisée repose sur une spécificité de cette fonction qui est de passer un entier en argument en même temps que le callback qui sera alors rappelé avec cet argument.
Donc dans ce binding cet argument est réutilisé comme index pour récupérer les fonctions dans une table de hachage côté ocaml.
Seulement cette solution est spécifique à ce cas de figure particulier.
Lorsqu'il n'y a pas la possibilité de stocker un index, cela voudrait-il dire qu'il est impossible de faire des binding de ces fonctions pour ocaml ? :cry: