32 lines
1.1 KiB
OpenEdge ABL
32 lines
1.1 KiB
OpenEdge ABL
/* Copyright (c) 2015,2016 Sequence Logic Inc. All rights reserved
|
|
*
|
|
* SWIG interface for converting between sequencelogic::File and java.io.File
|
|
*
|
|
*/
|
|
|
|
%typemap(jni) sequencelogic::File, const sequencelogic::File & "jobject"
|
|
%typemap(jtype) sequencelogic::File, const sequencelogic::File & "java.io.File"
|
|
%typemap(jstype) sequencelogic::File, const sequencelogic::File & "java.io.File"
|
|
%typemap(javain) sequencelogic::File, const sequencelogic::File & "$javainput"
|
|
|
|
%typemap(in) sequencelogic::File &, sequencelogic::File
|
|
{
|
|
if ($input != NULL)
|
|
{
|
|
// Convert $input (a java.io.File) to $1 (a sequencelogic::File)
|
|
jclass jFileClazz = jenv->GetObjectClass($input);
|
|
jmethodID toStringID = jenv->GetMethodID(jFileClazz, "getAbsolutePath", "()Ljava/lang/String;");
|
|
jstring absPath = static_cast<jstring>(jenv->CallObjectMethod($input, toStringID));
|
|
|
|
const char *pCPathStr = jenv->GetStringUTFChars(absPath, 0);
|
|
$1 = new sequencelogic::File(pCPathStr);
|
|
|
|
jenv->ReleaseStringUTFChars(absPath, pCPathStr);
|
|
|
|
}
|
|
}
|
|
%typemap(freearg) sequencelogic::File, const sequencelogic::File &
|
|
{
|
|
delete $1;
|
|
}
|