1 /*****************************************************************************
2 Freeciv - Copyright (C) 2005 - The Freeciv Project
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 *****************************************************************************/
14 #ifndef FC__SCRIPT_CLIENT_H
15 #define FC__SCRIPT_CLIENT_H
19 #endif /* __cplusplus */
21 /* common/scriptcore */
22 #include "luascript_types.h"
26 /* callback invocation function. */
27 bool script_client_callback_invoke(const char *callback_name
, int nargs
,
28 enum api_types
*parg_types
, va_list args
);
30 void script_client_remove_exported_object(void *object
);
32 /* script functions. */
33 bool script_client_init(void);
34 void script_client_free(void);
35 bool script_client_do_string(const char *str
);
36 bool script_client_do_file(const char *filename
);
38 /* script state i/o. */
39 void script_client_state_load(struct section_file
*file
);
40 void script_client_state_save(struct section_file
*file
);
43 void script_client_signal_connect(const char *signal_name
,
44 const char *callback_name
);
45 void script_client_signal_emit(const char *signal_name
, int nargs
, ...);
46 const char *script_client_signal_list(void);
50 #endif /* __cplusplus */
52 #endif /* FC__SCRIPT_CLIENT_H */