Cómo pasar un array (array de long en java) de Java a C ++ usando Swig

Tengo un archivo .h de ejemplo como abajo:

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

Usé SWIG y creé la interfaz JNI desde debajo del archivo .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"

Cuando creo el método Java se crea como:

public void SelectValues(SWIGTYPE_p_long_long includeKeys)

También para el archivo JNI está tomando argumento comojlongArray pero tomando simplejlong solamente. Debido a este problema no puedo crear una matriz de largo comolong[]={1L,2L} y páselo al método Java anterior para llamar al método JNI apropiado.

Quiero que SWIG genere una interfaz de tal manera que pueda pasar la matriz mencionada anteriormente a mi método C ++.

he leídoesta pregunta, pero no me ayudó a ver cómo pasar una matriz de Java a C ++.

Respuestas a la pregunta(1)

Su respuesta a la pregunta