![]() |
Freeciv21
Develop your civilization from humble roots to a global empire
|
#include "deprecations.h"#include "luascript.h"#include "luascript_types.h"#include "luascript_signal.h"
Include dependency graph for luascript_signal.cpp:Go to the source code of this file.
Functions | |
| static struct signal_callback * | signal_callback_new (const char *name) |
| Signals implementation. More... | |
| static void | signal_callback_destroy (struct signal_callback *pcallback) |
| Free a signal callback. More... | |
| static struct signal * | signal_new (int nargs, enum api_types *parg_types) |
| Create a new signal. More... | |
| static void | signal_destroy (struct signal *psignal) |
| Free a signal. More... | |
| void | luascript_signal_emit_valist (struct fc_lua *fcl, const char *signal_name, va_list args) |
| Invoke all the callback functions attached to a given signal. More... | |
| void | luascript_signal_emit (struct fc_lua *fcl, const char *signal_name,...) |
| Invoke all the callback functions attached to a given signal. More... | |
| static struct signal * | luascript_signal_create_valist (struct fc_lua *fcl, const char *signal_name, int nargs, va_list args) |
| Create a new signal type. More... | |
| signal_deprecator * | luascript_signal_create (struct fc_lua *fcl, const char *signal_name, int nargs,...) |
| Create a new signal type. More... | |
| void | deprecate_signal (signal_deprecator *deprecator, const char *signal_name, const char *replacement, const char *deprecated_since) |
| Mark signal deprecated. More... | |
| void | luascript_signal_callback (struct fc_lua *fcl, const char *signal_name, const char *callback_name, bool create) |
| Connects a callback function to a certain signal. More... | |
| bool | luascript_signal_callback_defined (struct fc_lua *fcl, const char *signal_name, const char *callback_name) |
| Returns if a callback function to a certain signal is defined. More... | |
| void | luascript_signal_init (struct fc_lua *fcl) |
| Initialize script signals and callbacks. More... | |
| void | luascript_signal_free (struct fc_lua *fcl) |
| Free script signals and callbacks. More... | |
| QString | luascript_signal_by_index (struct fc_lua *fcl, int sindex) |
| Return the name of the signal with the given index. More... | |
| const char * | luascript_signal_callback_by_index (struct fc_lua *fcl, const char *signal_name, int sindex) |
| Return the name of the 'index' callback function of the signal with the name 'signal_name'. More... | |
| void deprecate_signal | ( | signal_deprecator * | deprecator, |
| const char * | signal_name, | ||
| const char * | replacement, | ||
| const char * | deprecated_since | ||
| ) |
Mark signal deprecated.
Definition at line 202 of file luascript_signal.cpp.
Referenced by script_server_signals_create().
| QString luascript_signal_by_index | ( | struct fc_lua * | fcl, |
| int | sindex | ||
| ) |
Return the name of the signal with the given index.
Definition at line 331 of file luascript_signal.cpp.
Referenced by api_signal_by_index().
| void luascript_signal_callback | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| const char * | callback_name, | ||
| bool | create | ||
| ) |
Connects a callback function to a certain signal.
Definition at line 230 of file luascript_signal.cpp.
Referenced by api_signal_connect(), and api_signal_remove().
| const char* luascript_signal_callback_by_index | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| int | sindex | ||
| ) |
Return the name of the 'index' callback function of the signal with the name 'signal_name'.
Definition at line 344 of file luascript_signal.cpp.
Referenced by api_signal_callback_by_index().
| bool luascript_signal_callback_defined | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| const char * | callback_name | ||
| ) |
Returns if a callback function to a certain signal is defined.
Definition at line 276 of file luascript_signal.cpp.
Referenced by api_signal_defined().
| signal_deprecator* luascript_signal_create | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| int | nargs, | ||
| ... | |||
| ) |
Create a new signal type.
Definition at line 181 of file luascript_signal.cpp.
Referenced by script_client_signal_create(), and script_server_signals_create().
|
static |
Create a new signal type.
Definition at line 147 of file luascript_signal.cpp.
Referenced by luascript_signal_create().
| void luascript_signal_emit | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| ... | |||
| ) |
Invoke all the callback functions attached to a given signal.
Definition at line 135 of file luascript_signal.cpp.
| void luascript_signal_emit_valist | ( | struct fc_lua * | fcl, |
| const char * | signal_name, | ||
| va_list | args | ||
| ) |
Invoke all the callback functions attached to a given signal.
Definition at line 103 of file luascript_signal.cpp.
Referenced by luascript_signal_emit(), script_client_signal_emit(), and script_server_signal_emit().
| void luascript_signal_free | ( | struct fc_lua * | fcl | ) |
Free script signals and callbacks.
Definition at line 314 of file luascript_signal.cpp.
Referenced by luascript_destroy(), and script_client_free().
| void luascript_signal_init | ( | struct fc_lua * | fcl | ) |
Initialize script signals and callbacks.
Definition at line 301 of file luascript_signal.cpp.
Referenced by script_client_init(), and script_server_init().
|
static |
Free a signal callback.
Definition at line 64 of file luascript_signal.cpp.
Referenced by signal_destroy().
|
static |
Signals implementation.
Create a new signal callback.
New signal types can be declared with script_signal_create. Each signal should have a unique name string. All signal declarations are in signals_create, for convenience.
A signal may have any number of Lua callback functions connected to it at any given time.
A signal emission invokes all associated callbacks in the order they were connected:
A callback can stop the current signal emission, preventing the callbacks connected after it from being invoked.
A callback can detach itself from its associated signal.
Lua callbacks functions are able to do these via their return values.
All Lua callback functions can return a value. Example: return false
If the value is 'true' the current signal emission will be stopped.
Definition at line 53 of file luascript_signal.cpp.
Referenced by luascript_signal_callback().
|
static |
Free a signal.
Definition at line 88 of file luascript_signal.cpp.
Referenced by luascript_signal_free().
|
static |
Create a new signal.
Definition at line 73 of file luascript_signal.cpp.
Referenced by luascript_signal_create_valist().