JNA: callbacks to Java
2 мин
Мне понадобилось подключить наш проект на Яве к старой библиотеке на C. Одной из проблем было, что эта библиотека требует регистрации колбеков (callbacks), которые вызывает по ходу работы, и которые, я хотел бы имплементировать на стороне Явы.
JNI позволяет это всё делать, но муторно. Есть прекрасная библиотека JNA как замена JNI я хотел воспользоваться ей.
К сожалению сайт JNA сейчас пуст — они переезжают с сервера на сервер, статьи по JNA не показывают пример callbacks, поэтому пришлось повозиться немного, чтобы сделать работающий пример.
Этот пример и хочу показать — может кому то приходится.
Начинаем со стороны C:
my.h
JNI позволяет это всё делать, но муторно. Есть прекрасная библиотека JNA как замена JNI я хотел воспользоваться ей.
К сожалению сайт JNA сейчас пуст — они переезжают с сервера на сервер, статьи по JNA не показывают пример callbacks, поэтому пришлось повозиться немного, чтобы сделать работающий пример.
Этот пример и хочу показать — может кому то приходится.
Начинаем со стороны C:
my.h
typedef void (*callback)(char *, char*);
int myfunc(char *);
void registerCallback(callback myc);

Вот сидишь так за компом, пересматриваешь фотки с конфы и вдруг понимаешь, что следующая конференция SUN (Oracle/Java) Tech days должна быть совсем не за горами, где-нибудь в апреле или может быть марте. Судя по прошлогоднему опыту, зарегистрироваться можно было еще в январе. Решил испытать судьбу и поискать какую-нибудь информацию. Вообщем вот она, теперь перед вами (скопировано с сайта):
Поиск по Хабру не нашел подробных статей по системе Alfresco. В данной статье попробую убить сразу двух зайцев: рассказать что представляет из себя система Alfresco и как мы используем ее в нашей работе.
У каждой компании есть свой стандарт оформления 