diff -r 45b9f25ff611 -r 2fb781bbdd51 project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/frontlib/FrontlibTypeMapper.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/frontlib/FrontlibTypeMapper.java Mon Aug 06 22:39:36 2012 +0200 @@ -0,0 +1,27 @@ +package org.hedgewars.hedgeroid.frontlib; + +import com.sun.jna.DefaultTypeMapper; +import com.sun.jna.FromNativeContext; +import com.sun.jna.ToNativeContext; +import com.sun.jna.TypeConverter; +import com.sun.jna.TypeMapper; + +class FrontlibTypeMapper extends DefaultTypeMapper { + public static final TypeMapper INSTANCE = new FrontlibTypeMapper(); + + protected FrontlibTypeMapper() { + addTypeConverter(Boolean.class, new BooleanConverter()); + } +} + +class BooleanConverter implements TypeConverter { + public Class nativeType() { + return Byte.class; + } + public Object fromNative(Object value, FromNativeContext context) { + return ((Byte)value).intValue() != 0 ? Boolean.TRUE : Boolean.FALSE; + } + public Object toNative(Object value, ToNativeContext context) { + return Byte.valueOf((byte)(Boolean.TRUE.equals(value) ? 1 : 0)); + } +}