Freeciv-3.2
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
update_queue.h File Reference

Go to the source code of this file.

Macros

#define UQ_FREEDATA(fn)   ((uq_free_fn_t) fn)
 

Typedefs

typedef void(* uq_callback_t) (void *data)
 
typedef void(* uq_free_fn_t) (void *data)
 

Functions

void update_queue_init (void)
 
void update_queue_free (void)
 
void update_queue_freeze (void)
 
void update_queue_thaw (void)
 
void update_queue_force_thaw (void)
 
bool update_queue_is_frozen (void)
 
void update_queue_processing_started (int request_id)
 
void update_queue_processing_finished (int request_id)
 
void update_queue_add (uq_callback_t callback, void *data)
 
void update_queue_add_full (uq_callback_t callback, void *data, uq_free_fn_t free_data_func)
 
bool update_queue_has_callback (uq_callback_t callback)
 
bool update_queue_has_callback_full (uq_callback_t callback, const void **data, uq_free_fn_t *free_data_func)
 
void update_queue_connect_processing_started (int request_id, uq_callback_t callback, void *data)
 
void update_queue_connect_processing_started_full (int request_id, uq_callback_t callback, void *data, uq_free_fn_t free_data_func)
 
void update_queue_connect_processing_finished (int request_id, uq_callback_t callback, void *data)
 
void update_queue_connect_processing_finished_full (int request_id, uq_callback_t callback, void *data, uq_free_fn_t free_data_func)
 
bool update_queue_is_switching_page (void)
 

Macro Definition Documentation

◆ UQ_FREEDATA

#define UQ_FREEDATA (   fn)    ((uq_free_fn_t) fn)

Definition at line 22 of file update_queue.h.

Typedef Documentation

◆ uq_callback_t

typedef void(* uq_callback_t) (void *data)

Definition at line 20 of file update_queue.h.

◆ uq_free_fn_t

typedef void(* uq_free_fn_t) (void *data)

Definition at line 21 of file update_queue.h.

Function Documentation

◆ update_queue_add()

void update_queue_add ( uq_callback_t  callback,
void data 
)

◆ update_queue_add_full()

void update_queue_add_full ( uq_callback_t  callback,
void data,
uq_free_fn_t  free_data_func 
)

Add a callback to the update queue. NB: you can only set a callback once. Setting a callback twice will overwrite the previous.

Definition at line 356 of file update_queue.c.

◆ update_queue_connect_processing_finished()

void update_queue_connect_processing_finished ( int  request_id,
uq_callback_t  callback,
void data 
)

Connects the callback to the end of the processing (in server side) of the request.

Definition at line 450 of file update_queue.c.

Referenced by client_start_server_and_set_page(), and client_take_player().

◆ update_queue_connect_processing_finished_full()

void update_queue_connect_processing_finished_full ( int  request_id,
uq_callback_t  callback,
void data,
uq_free_fn_t  free_data_func 
)

Connects the callback to the end of the processing (in server side) of the request.

Definition at line 462 of file update_queue.c.

Referenced by do_disband_alternative().

◆ update_queue_connect_processing_started()

void update_queue_connect_processing_started ( int  request_id,
uq_callback_t  callback,
void data 
)

Connects the callback to the start of the processing (in server side) of the request.

Definition at line 423 of file update_queue.c.

◆ update_queue_connect_processing_started_full()

void update_queue_connect_processing_started_full ( int  request_id,
uq_callback_t  callback,
void data,
uq_free_fn_t  free_data_func 
)

Connects the callback to the start of the processing (in server side) of the request.

Definition at line 435 of file update_queue.c.

◆ update_queue_force_thaw()

void update_queue_force_thaw ( void  )

Free the update queue.

Definition at line 242 of file update_queue.c.

◆ update_queue_free()

void update_queue_free ( void  )

Free the update queue.

Definition at line 190 of file update_queue.c.

Referenced by at_exit().

◆ update_queue_freeze()

void update_queue_freeze ( void  )

Freezes the update queue.

Definition at line 216 of file update_queue.c.

◆ update_queue_has_callback()

bool update_queue_has_callback ( uq_callback_t  callback)

Returns whether this callback is listed in the update queue.

Definition at line 367 of file update_queue.c.

Referenced by menus_update(), and update_queue_is_switching_page().

◆ update_queue_has_callback_full()

bool update_queue_has_callback_full ( uq_callback_t  callback,
const void **  data,
uq_free_fn_t free_data_func 
)

Returns whether this callback is listed in the update queue and get the its data and free function. 'data' and 'free_data_func' can be NULL.

Definition at line 378 of file update_queue.c.

Referenced by get_client_page().

◆ update_queue_init()

void update_queue_init ( void  )

Initialize the update queue.

Definition at line 169 of file update_queue.c.

Referenced by client_game_free(), client_game_init(), and client_main().

◆ update_queue_is_frozen()

bool update_queue_is_frozen ( void  )

Free the update queue.

Definition at line 252 of file update_queue.c.

Referenced by update_queue_force_thaw(), update_queue_push(), and update_unqueue().

◆ update_queue_is_switching_page()

bool update_queue_is_switching_page ( void  )

Returns whether there's page switching already in progress.

Definition at line 535 of file update_queue.c.

Referenced by set_turn_done_button_state().

◆ update_queue_processing_finished()

void update_queue_processing_finished ( int  request_id)

Moves the instances waiting to the request_id to the callback queue.

Definition at line 288 of file update_queue.c.

Referenced by handle_processing_finished().

◆ update_queue_processing_started()

void update_queue_processing_started ( int  request_id)

Moves the instances waiting to the request_id to the callback queue.

Definition at line 279 of file update_queue.c.

Referenced by handle_processing_started().

◆ update_queue_thaw()

void update_queue_thaw ( void  )

Free the update queue.

Definition at line 224 of file update_queue.c.

Referenced by update_queue_force_thaw().