Использование CFBooleanRef через JNA
-
19-09-2019 - |
Вопрос
Я использую JNA для вызова Carbon API.Конкретный вызов API, который я хочу вызвать, принимает CFBooleanRef в качестве параметра.Значения kCFBooleanTrue и kCFBooleanFalse являются объявленными как прямые внешние ссылки в файлах заголовков.
Как я могу получить ссылки на эти два значения на стороне Java, чтобы я мог передавать значения в вызов API ?
Решение
Что ж, поскольку на это не было получено никакого ответа, просто записываю решение, которое я придумал, на случай, если кому-то еще понадобится это сделать:
В итоге я использовал Rococoa для реализации моей собственной версии NSNumber, чтобы я мог вызвать в ней метод numberWithBool, чтобы получить экземпляр NSBoolean .Который затем может быть использован в качестве CFBoolean.
public interface MyNSNumber extends NSObject {
public static final _Class CLASS = Rococoa.createClass("NSNumber", _Class.class);
public interface _Class extends NSClass {
ID numberWithBool(boolean value);
}
}