/* 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(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; }