project_files/frontlib/extra/jnacontrol.c
author Medo <smaxein@googlemail.com>
Sun, 16 Sep 2012 22:31:34 +0200
changeset 7691 55c0a856ecd0
parent 7588 27e5857da6af
child 10017 de822cd3df3a
permissions -rw-r--r--
frontlib+Hedgeroid: Added support for the new client flags (chief, admin, reg)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     1
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     3
 * Copyright (C) 2012 Simeon Maxein <smaxein@googlemail.com>
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     4
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     6
 * modify it under the terms of the GNU General Public License
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     7
 * as published by the Free Software Foundation; either version 2
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     8
 * of the License, or (at your option) any later version.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
     9
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    13
 * GNU General Public License for more details.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    14
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    18
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    19
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    20
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    21
 * This file is not directly part of the frontlib and is not required to build it.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    22
 * However, it is recommended to include it in compilation when building for Android. The purpose of this file
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    23
 * is to ensure consistency between the function signatures of the JNA Java bindings of the Android port and the
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    24
 * frontlib functions.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    25
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    26
 * This file, in essence, consists only of function declarations. They are duplicates of function declarations
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    27
 * from the frontlib headers that are referenced from JNA bindings. If the signature of one of these functions
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    28
 * changes in the frontlib, it will no longer match the signature in this file, and the compiler will show an error.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    29
 * If that happens, you need to update the JNA bindings in Hedgeroid to match the new function signature, and then
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    30
 * update this file.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    31
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    32
 * The reason for all this is that JNA does not actually know the function signatures of the functions it binds,
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    33
 * it derives them from Java method declarations. If those do not match the actual function signatures, you will
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    34
 * only notice when you suddenly get strange (and possibly hard to track down) problems at runtime. This file is
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    35
 * an attempt to detect these problems at compile time instead. Notice that it will NOT detect changes to structs
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    36
 * or constants though, which also require updates to the JNA bindings.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    37
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    38
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    39
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    40
 * Before we include the frontlib headers, we define away the const keyword. This is necessary because there is no
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    41
 * distinction between const and non-const types on the JNA side, and we don't want the compiler to complain because
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    42
 * of bad constness.
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    43
 *
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    44
 * This is so evil, but it works...
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    45
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    46
#define const
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    47
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    48
#include "../frontlib.h"
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    49
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    50
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    51
 * Now we map the Java types to the corresponding C types...
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    52
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    53
typedef flib_netconn *NetconnPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    54
typedef flib_gameconn *GameconnPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    55
typedef flib_mapconn *MapconnPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    56
typedef flib_metascheme *MetaschemePtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    57
typedef flib_room **RoomArrayPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    58
typedef flib_weaponset *WeaponsetPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    59
typedef flib_weaponsetlist *WeaponsetListPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    60
typedef flib_map *MapRecipePtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    61
typedef flib_scheme *SchemePtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    62
typedef flib_schemelist *SchemelistPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    63
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    64
typedef flib_room *RoomPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    65
typedef flib_team *TeamPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    66
typedef flib_gamesetup *GameSetupPtr;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    67
typedef bool boolean;
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
    68
typedef size_t NativeSizeT;
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    69
typedef void *Pointer;
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
    70
typedef uint8_t *ByteArrayPtr;
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    71
typedef char *String;
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    72
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    73
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    74
 * Mapping callback types
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    75
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    76
typedef void (*VoidCallback)(Pointer context);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    77
typedef void (*StrCallback)(Pointer context, String arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    78
typedef void (*IntCallback)(Pointer context, int arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    79
typedef void (*IntStrCallback)(Pointer context, int arg1, String arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    80
typedef void (*StrIntCallback)(Pointer context, String arg1, int arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    81
typedef void (*StrStrCallback)(Pointer context, String arg1, String arg2);
7691
55c0a856ecd0 frontlib+Hedgeroid: Added support for the new client flags (chief, admin, reg)
Medo <smaxein@googlemail.com>
parents: 7588
diff changeset
    82
typedef void (*StrStrBoolCallback)(Pointer context, String arg1, String arg2, boolean arg3);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    83
typedef void (*RoomCallback)(Pointer context, RoomPtr arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    84
typedef void (*RoomListCallback)(Pointer context, RoomArrayPtr arg1, int arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    85
typedef void (*StrRoomCallback)(Pointer context, String arg1, RoomPtr arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    86
typedef void (*BoolCallback)(Pointer context, boolean arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    87
typedef void (*StrBoolCallback)(Pointer context, String arg1, boolean arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    88
typedef void (*TeamCallback)(Pointer context, TeamPtr arg1);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
    89
typedef void (*BytesCallback)(Pointer context, const uint8_t *buffer, NativeSizeT size);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
    90
typedef void (*BytesBoolCallback)(Pointer context, const uint8_t *buffer, NativeSizeT size, boolean arg3);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    91
typedef void (*SchemeCallback)(Pointer context, SchemePtr arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    92
typedef void (*MapIntCallback)(Pointer context, MapRecipePtr arg1, int arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    93
typedef void (*WeaponsetCallback)(Pointer context, WeaponsetPtr arg1);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    94
typedef void (*MapimageCallback)(Pointer context, const uint8_t *mapimage, int hogs);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    95
typedef void (*LogCallback)(int arg1, String arg2);
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    96
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    97
/*
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    98
 * Below here are the copypasted method declarations from the JNA bindings
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
    99
 */
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   100
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   101
	// frontlib.h
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   102
    int flib_init();
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   103
    void flib_quit();
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   104
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   105
    // hwconsts.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   106
    int flib_get_teamcolor_count();
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   107
    int flib_get_hedgehogs_per_team();
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   108
    int flib_get_weapons_count();
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   109
	MetaschemePtr flib_get_metascheme();
7497
7e1d72fc03c7 frontlib:
Medo <smaxein@googlemail.com>
parents: 7482
diff changeset
   110
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   111
    // net/netconn.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   112
	NetconnPtr flib_netconn_create(String playerName, String dataDirPath, String host, int port);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   113
	void flib_netconn_destroy(NetconnPtr conn);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   114
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   115
	void flib_netconn_tick(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   116
	boolean flib_netconn_is_chief(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   117
	String flib_netconn_get_playername(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   118
	GameSetupPtr flib_netconn_create_gamesetup(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   119
	int flib_netconn_send_quit(NetconnPtr conn, String quitmsg);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   120
	int flib_netconn_send_chat(NetconnPtr conn, String chat);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   121
	int flib_netconn_send_teamchat(NetconnPtr conn, String msg);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   122
	int flib_netconn_send_password(NetconnPtr conn, String passwd);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   123
	int flib_netconn_send_nick(NetconnPtr conn, String nick);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   124
	int flib_netconn_send_request_roomlist(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   125
	int flib_netconn_send_joinRoom(NetconnPtr conn, String room);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   126
	int flib_netconn_send_createRoom(NetconnPtr conn, String room);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   127
	int flib_netconn_send_renameRoom(NetconnPtr conn, String roomName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   128
	int flib_netconn_send_leaveRoom(NetconnPtr conn, String msg);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   129
	int flib_netconn_send_toggleReady(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   130
	int flib_netconn_send_addTeam(NetconnPtr conn, TeamPtr team);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   131
	int flib_netconn_send_removeTeam(NetconnPtr conn, String teamname);
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   132
	int flib_netconn_send_engineMessage(NetconnPtr conn, ByteArrayPtr message, NativeSizeT size);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   133
	int flib_netconn_send_teamHogCount(NetconnPtr conn, String teamname, int hogcount);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   134
	int flib_netconn_send_teamColor(NetconnPtr conn, String teamname, int colorIndex);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   135
	int flib_netconn_send_weaponset(NetconnPtr conn, WeaponsetPtr weaponset);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   136
	int flib_netconn_send_map(NetconnPtr conn, MapRecipePtr map);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   137
	int flib_netconn_send_mapName(NetconnPtr conn, String mapName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   138
	int flib_netconn_send_mapGen(NetconnPtr conn, int mapGen);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   139
	int flib_netconn_send_mapTemplate(NetconnPtr conn, int templateFilter);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   140
	int flib_netconn_send_mapMazeSize(NetconnPtr conn, int mazeSize);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   141
	int flib_netconn_send_mapSeed(NetconnPtr conn, String seed);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   142
	int flib_netconn_send_mapTheme(NetconnPtr conn, String theme);
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   143
	int flib_netconn_send_mapDrawdata(NetconnPtr conn, ByteArrayPtr drawData, NativeSizeT size);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   144
	int flib_netconn_send_script(NetconnPtr conn, String scriptName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   145
	int flib_netconn_send_scheme(NetconnPtr conn, SchemePtr scheme);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   146
	int flib_netconn_send_roundfinished(NetconnPtr conn, boolean withoutError);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   147
	int flib_netconn_send_ban(NetconnPtr conn, String playerName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   148
	int flib_netconn_send_kick(NetconnPtr conn, String playerName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   149
	int flib_netconn_send_playerInfo(NetconnPtr conn, String playerName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   150
	int flib_netconn_send_playerFollow(NetconnPtr conn, String playerName);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   151
	int flib_netconn_send_startGame(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   152
	int flib_netconn_send_toggleRestrictJoins(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   153
	int flib_netconn_send_toggleRestrictTeams(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   154
	int flib_netconn_send_clearAccountsCache(NetconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   155
	int flib_netconn_send_setServerVar(NetconnPtr conn, String name, String value);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   156
	int flib_netconn_send_getServerVars(NetconnPtr conn);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   157
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   158
	void flib_netconn_onMessage(NetconnPtr conn, IntStrCallback callback, Pointer context);
7691
55c0a856ecd0 frontlib+Hedgeroid: Added support for the new client flags (chief, admin, reg)
Medo <smaxein@googlemail.com>
parents: 7588
diff changeset
   159
	void flib_netconn_onClientFlags(NetconnPtr conn, StrStrBoolCallback callback, Pointer context);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   160
	void flib_netconn_onChat(NetconnPtr conn, StrStrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   161
	void flib_netconn_onConnected(NetconnPtr conn, VoidCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   162
	void flib_netconn_onDisconnected(NetconnPtr conn, IntStrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   163
	void flib_netconn_onRoomlist(NetconnPtr conn, RoomListCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   164
	void flib_netconn_onRoomAdd(NetconnPtr conn, RoomCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   165
	void flib_netconn_onRoomDelete(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   166
	void flib_netconn_onRoomUpdate(NetconnPtr conn, StrRoomCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   167
	void flib_netconn_onLobbyJoin(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   168
	void flib_netconn_onLobbyLeave(NetconnPtr conn, StrStrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   169
	void flib_netconn_onNickTaken(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   170
	void flib_netconn_onPasswordRequest(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   171
	void flib_netconn_onEnterRoom(NetconnPtr conn, BoolCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   172
	void flib_netconn_onLeaveRoom(NetconnPtr conn, IntStrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   173
	void flib_netconn_onTeamAdd(NetconnPtr conn, TeamCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   174
	void flib_netconn_onTeamDelete(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   175
	void flib_netconn_onRoomJoin(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   176
	void flib_netconn_onRoomLeave(NetconnPtr conn, StrStrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   177
	void flib_netconn_onRunGame(NetconnPtr conn, VoidCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   178
	void flib_netconn_onTeamAccepted(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   179
	void flib_netconn_onHogCountChanged(NetconnPtr conn, StrIntCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   180
	void flib_netconn_onTeamColorChanged(NetconnPtr conn, StrIntCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   181
	void flib_netconn_onEngineMessage(NetconnPtr conn, BytesCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   182
	void flib_netconn_onSchemeChanged(NetconnPtr conn, SchemeCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   183
	void flib_netconn_onMapChanged(NetconnPtr conn, MapIntCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   184
	void flib_netconn_onScriptChanged(NetconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   185
	void flib_netconn_onWeaponsetChanged(NetconnPtr conn, WeaponsetCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   186
	void flib_netconn_onServerVar(NetconnPtr conn, StrStrCallback callback, Pointer context);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   187
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   188
	// ipc/gameconn.h
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   189
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   190
	GameconnPtr flib_gameconn_create(String playerName, GameSetupPtr setup, boolean netgame);
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   191
	GameconnPtr flib_gameconn_create_playdemo(ByteArrayPtr demo, NativeSizeT size);
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   192
	GameconnPtr flib_gameconn_create_loadgame(String playerName, ByteArrayPtr save, NativeSizeT size);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   193
	GameconnPtr flib_gameconn_create_campaign(String playerName, String seed, String script);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   194
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   195
	void flib_gameconn_destroy(GameconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   196
	int flib_gameconn_getport(GameconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   197
	void flib_gameconn_tick(GameconnPtr conn);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   198
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   199
	int flib_gameconn_send_enginemsg(GameconnPtr conn, ByteArrayPtr data, NativeSizeT len);
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   200
	int flib_gameconn_send_textmsg(GameconnPtr conn, int msgtype, String msg);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   201
	int flib_gameconn_send_chatmsg(GameconnPtr conn, String playername, String msg);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   202
	int flib_gameconn_send_quit(GameconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   203
	int flib_gameconn_send_cmd(GameconnPtr conn, String cmdString);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   204
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   205
	void flib_gameconn_onConnect(GameconnPtr conn, VoidCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   206
	void flib_gameconn_onDisconnect(GameconnPtr conn, IntCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   207
	void flib_gameconn_onErrorMessage(GameconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   208
	void flib_gameconn_onChat(GameconnPtr conn, StrBoolCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   209
	void flib_gameconn_onGameRecorded(GameconnPtr conn, BytesBoolCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   210
	void flib_gameconn_onEngineMessage(GameconnPtr conn, BytesCallback callback, Pointer context);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   211
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   212
	// ipc/mapconn.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   213
	MapconnPtr flib_mapconn_create(MapRecipePtr mapdesc);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   214
	void flib_mapconn_destroy(MapconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   215
	int flib_mapconn_getport(MapconnPtr conn);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   216
	void flib_mapconn_onSuccess(MapconnPtr conn, MapimageCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   217
	void flib_mapconn_onFailure(MapconnPtr conn, StrCallback callback, Pointer context);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   218
	void flib_mapconn_tick(MapconnPtr conn);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   219
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   220
	// model/schemelist.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   221
	SchemelistPtr flib_schemelist_from_ini(String filename);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   222
	int flib_schemelist_to_ini(String filename, SchemelistPtr list);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   223
	void flib_schemelist_destroy(SchemelistPtr list);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   224
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   225
	// model/team.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   226
	TeamPtr flib_team_from_ini(String filename);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   227
	int flib_team_to_ini(String filename, TeamPtr team);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   228
	void flib_team_destroy(TeamPtr team);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   229
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   230
	// model/weapon.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   231
	WeaponsetListPtr flib_weaponsetlist_from_ini(String filename);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   232
	int flib_weaponsetlist_to_ini(String filename, WeaponsetListPtr weaponsets);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   233
	void flib_weaponsetlist_destroy(WeaponsetListPtr list);
7482
d70a5b0d1190 frontlib improvements:
Medo <smaxein@googlemail.com>
parents:
diff changeset
   234
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   235
	// model/gamesetup.h
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   236
	void flib_gamesetup_destroy(GameSetupPtr gamesetup);
7497
7e1d72fc03c7 frontlib:
Medo <smaxein@googlemail.com>
parents: 7482
diff changeset
   237
7588
27e5857da6af Hedgeroid improvements:
Medo <smaxein@googlemail.com>
parents: 7580
diff changeset
   238
	// util/logging.h
7580
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   239
    void flib_log_setLevel(int level);
c92596feac0d frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents: 7497
diff changeset
   240
    void flib_log_setCallback(LogCallback callback);