diff -r 45b9f25ff611 -r 2fb781bbdd51 project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/JnaFrontlib.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/JnaFrontlib.java Mon Aug 06 22:33:07 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,371 +0,0 @@ -package org.hedgewars.hedgeroid.netplay; -import java.nio.Buffer; -import java.util.Collections; - -import android.util.Log; - -import com.sun.jna.Callback; -import com.sun.jna.Library; -import com.sun.jna.Native; -import com.sun.jna.NativeLong; -import com.sun.jna.Pointer; -import com.sun.jna.PointerType; -import com.sun.jna.Structure; - -class Flib { - static { - System.loadLibrary("SDL_net"); - } - public static final JnaFrontlib INSTANCE = (JnaFrontlib)Native.loadLibrary("frontlib", JnaFrontlib.class, Collections.singletonMap(Library.OPTION_TYPE_MAPPER, FrontlibTypeMapper.INSTANCE)); - - // Hook frontlib logging into Android logging - private static final JnaFrontlib.LogCallback logCb = new JnaFrontlib.LogCallback() { - public void callback(int level, String message) { - if(level >= JnaFrontlib.FLIB_LOGLEVEL_ERROR) { - Log.e("Frontlib", message); - } else if(level == JnaFrontlib.FLIB_LOGLEVEL_WARNING){ - Log.w("Frontlib", message); - } else if(level == JnaFrontlib.FLIB_LOGLEVEL_INFO){ - Log.i("Frontlib", message); - } else if(level <= JnaFrontlib.FLIB_LOGLEVEL_DEBUG){ - Log.d("Frontlib", message); - } - } - }; - static { - INSTANCE.flib_log_setLevel(JnaFrontlib.FLIB_LOGLEVEL_WARNING); - INSTANCE.flib_log_setCallback(logCb); - } -} - -public interface JnaFrontlib extends Library { - static final int NETCONN_STATE_CONNECTING = 0; - static final int NETCONN_STATE_LOBBY = 1; - static final int NETCONN_STATE_ROOM = 2; - static final int NETCONN_STATE_INGAME = 3; - static final int NETCONN_STATE_DISCONNECTED = 10; - - static final int NETCONN_DISCONNECT_NORMAL = 0; - static final int NETCONN_DISCONNECT_SERVER_TOO_OLD = 1; - static final int NETCONN_DISCONNECT_AUTH_FAILED = 2; - static final int NETCONN_DISCONNECT_CONNLOST = 3; - static final int NETCONN_DISCONNECT_INTERNAL_ERROR = 100; - - static final int NETCONN_ROOMLEAVE_ABANDONED = 0; - static final int NETCONN_ROOMLEAVE_KICKED = 1; - - static final int NETCONN_MSG_TYPE_PLAYERINFO = 0; - static final int NETCONN_MSG_TYPE_SERVERMESSAGE = 1; - static final int NETCONN_MSG_TYPE_WARNING = 2; - static final int NETCONN_MSG_TYPE_ERROR = 3; - - static final int NETCONN_MAPCHANGE_FULL = 0; - static final int NETCONN_MAPCHANGE_MAP = 1; - static final int NETCONN_MAPCHANGE_MAPGEN = 2; - static final int NETCONN_MAPCHANGE_DRAWNMAP = 3; - static final int NETCONN_MAPCHANGE_MAZE_SIZE = 4; - static final int NETCONN_MAPCHANGE_TEMPLATE = 5; - static final int NETCONN_MAPCHANGE_THEME = 6; - static final int NETCONN_MAPCHANGE_SEED = 7; - - static final int GAME_END_FINISHED = 0; - static final int GAME_END_INTERRUPTED = 1; - static final int GAME_END_HALTED = 2; - static final int GAME_END_ERROR = 3; - - static class NetconnPtr extends PointerType { } - static class MapconnPtr extends PointerType { } - static class GameconnPtr extends PointerType { } - static class MetaschemePtr extends PointerType { } - - static class RoomArrayPtr extends PointerType { - /** - * Returns the (native-owned) rooms in this list - */ - public Room[] getRooms(int count) { - Pointer ptr = getPointer(); - if(ptr == null) { - return new Room[0]; - } - Pointer[] untypedPtrs = ptr.getPointerArray(0, count); - Room[] result = new Room[count]; - for(int i=0; i