Como passar array (array de long em java) de Java para C ++ usando Swig

Eu tenho um exemplo de arquivo .h como abaixo:

class Test
{
public:
       void SelectValues(long long values[])
};

Eu usei o SWIG e criei a interface JNI abaixo do arquivo .i

%module MyLib
%include "carrays.i"
%array_functions(long long, long_long_array )


%{
  #include "Test.h"
%}

/* Let's just grab the original header file here */
%include <windows.i> /*This line is used for calling conventions*/ 
% include "Test.h"

Quando eu crio o método Java, ele cria como:

public void SelectValues(SWIGTYPE_p_long_long includeKeys)

Também para o arquivo JNI, ele está aceitando o argumentojlongArray mas tendo simplesjlong só. Devido a este problema eu não posso criar uma série de longos comolong[]={1L,2L} e passá-lo ao método Java acima para chamar o método JNI apropriado.

Eu quero que o SWIG gere a interface de tal forma que eu possa passar a matriz acima mencionada para o meu método C ++.

eu liessa questão, mas não me ajudou a ver como passar um array de Java para C ++.

questionAnswers(1)

yourAnswerToTheQuestion