project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/FrontlibTypeMapper.java
changeset 7476 2fb781bbdd51
parent 7473 45b9f25ff611
child 7479 c8c552ee3acb
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/FrontlibTypeMapper.java	Mon Aug 06 22:33:07 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-package org.hedgewars.hedgeroid.netplay;
-
-import java.io.UnsupportedEncodingException;
-
-import com.sun.jna.DefaultTypeMapper;
-import com.sun.jna.FromNativeContext;
-import com.sun.jna.FromNativeConverter;
-import com.sun.jna.Native;
-import com.sun.jna.Pointer;
-import com.sun.jna.ToNativeContext;
-import com.sun.jna.ToNativeConverter;
-import com.sun.jna.TypeConverter;
-import com.sun.jna.TypeMapper;
-
-public class FrontlibTypeMapper extends DefaultTypeMapper {
-    public static final TypeMapper INSTANCE = new FrontlibTypeMapper();
-    
-    protected FrontlibTypeMapper() {
-        addTypeConverter(Boolean.class, new BooleanConverter());
-		addToNativeConverter(String.class, new StringToNativeConverter());
-		addFromNativeConverter(String.class, new StringFromNativeConverter());
-    }
-}
-
-class BooleanConverter implements TypeConverter {
-    public Class<Byte> 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));
-	}
-}
-
-class StringToNativeConverter implements ToNativeConverter {
-	public byte[] toNative(Object value, ToNativeContext context) {
-    	try {
-			return value==null ? null : Native.toByteArray((String)value, "UTF-8");
-		} catch (UnsupportedEncodingException e) {
-			throw new AssertionError(e); // Never happens
-		}
-	}
-	
-	public Class<byte[]> nativeType() {
-		return byte[].class;
-	}
-}
-
-class StringFromNativeConverter implements FromNativeConverter {
-	public String fromNative(Object value, FromNativeContext context) {
-		Pointer p = (Pointer)value;
-		if(p==null) {
-			return null;
-		}
-		int i=0;
-		while(p.getByte(i) != 0) {
-			i++;
-		}
-    	try {
-			return new String(p.getByteArray(0, i), "UTF-8");
-		} catch (UnsupportedEncodingException e) {
-			throw new AssertionError(e); // Never happens
-		}
-	}
-	
-	public Class<Pointer> nativeType() {
-		return Pointer.class;
-	}
-}