2009-12-13 11 views
1

J'utilise JNA pour appeler les API de carbone. L'appel d'API particulier que je veux appeler prend un un CFBooleanRef en tant que paramètre. Les valeurs, kCFBooleanTrue et kCFBooleanFalse, sont déclarées comme références externes directes dans les fichiers d'en-tête.L'utilisation de CFBooleanRef à travers JNA

Comment puis-je obtenir des références à ces deux valeurs du côté Java, afin que je puisse passer les valeurs à l'appel API?

Répondre

2

Eh bien, comme cela n'a pas obtenu de réponse, juste de mettre bas la solution que je suis venu avec, au cas où quelqu'un d'autre a besoin de faire ceci:

Je fini par utiliser Rococoa pour mettre en œuvre ma propre version de NSNumber , pour que je puisse appeler la méthode numberWithBool, pour obtenir une instance d'un NSBoolean. Ce qui peut ensuite être utilisé comme un CFBooléen.

public interface MyNSNumber extends NSObject { 
    public static final _Class CLASS = Rococoa.createClass("NSNumber", _Class.class); 

    public interface _Class extends NSClass { 
     ID numberWithBool(boolean value); 
    } 
} 
+0

Il est non seulement acceptable pour répondre à vos propres questions quand personne d'autre, il est encouragé que lorsque vous trouvez une solution que vous publiez pour que d'autres puissent en bénéficier. +1 - merci d'avoir pris le temps de l'écrire! –