Interfejs SWIG do otrzymywania nieprzejrzystego odwołania strukturalnego w Java poprzez argument funkcji

Próbuję użyć SWIG, aby korzystać z Spotify API (libspotify) dla Androida:https://developer.spotify.com/technologies/libspotify/

Mam problem z zdefiniowaniem pliku interfejsu SWIG, aby móc pomyślnie wywołać następującą rodzimą funkcję C:

sp_error sp_session_create(const sp_session_config * config, sp_session ** sess);

Które w C będą nazywane w ten sposób:

//config struct defined previously
sp_session *sess;
sp_session_create(&config, &sess);

Ale w Javie musiałbym nazwać to tak:

//config object defined previously
sp_session javaSess = new sp_session();
sp_session_create(config, javaSess);

sp_session jest nieprzezroczystą strukturą i jest zdefiniowany tylko w pliku API.h libspotify jako:

typedef struct sp_session sp_session;

Spodziewam się, że biblioteka libspotify go utworzy i poda mi odniesienie. Jedyne, czego potrzebuję wtedy, to przekazać do innych funkcji w API.

Wierzę, że odpowiedź leży w interfejsie SWIG i typach, ale nie udało mi się zastosowaćprzykłady I uznany w dokumentacji.

questionAnswers(2)

yourAnswerToTheQuestion