Freeciv-3.1: /fast/freeciv/nightly/S3_1/client/voteinfo.c File Reference

Freeciv-3.1

Loading...
Searching...
No Matches
Macros | Functions | Variables
voteinfo.c File Reference
`#include <time.h>`
`#include "log.h"`
`#include "packets.h"`
`#include "voteinfo_bar_g.h"`
`#include "client_main.h"`
`#include "clinet.h"`
`#include "options.h"`
`#include "voteinfo.h"`
`#include "speclist.h"`

Go to the source code of this file.

## Macros

#define | SPECLIST_TAG voteinfo
#define | SPECLIST_TYPE struct voteinfo
#define | voteinfo_list_iterate(alist, pitem) TYPED_LIST_ITERATE(struct voteinfo, alist, pitem)
#define | voteinfo_list_iterate_end LIST_ITERATE_END

## Functions

void | voteinfo_queue_delayed_remove (int vote_no)
void | voteinfo_queue_check_removed (void)
void | voteinfo_queue_remove (int vote_no)
void | voteinfo_queue_add (int vote_no, const char *user, const char *desc, int percent_required, int flags)
struct voteinfo * | voteinfo_queue_find (int vote_no)
void | voteinfo_queue_init (void)
void | voteinfo_queue_free (void)
struct voteinfo * | voteinfo_queue_get_current (int *pindex)
void | voteinfo_do_vote (int vote_no, enum client_vote_type vote)
void | voteinfo_queue_next (void)
int | voteinfo_queue_size (void)
bool | voteinfo_bar_can_be_shown (void)

## Variables

static struct voteinfo_list * | voteinfo_queue = NULL
static int | voteinfo_queue_current_index = 0

## Macro Definition Documentation

## ◆ SPECLIST_TAG

#define SPECLIST_TAG voteinfo

Definition at line 38 of file voteinfo.c.

## ◆ SPECLIST_TYPE

#define SPECLIST_TYPE struct voteinfo

Definition at line 39 of file voteinfo.c.

## ◆ voteinfo_list_iterate

#define voteinfo_list_iterate | ( |  | alist,
|  |  | pitem
| ) |  | TYPED_LIST_ITERATE(struct voteinfo, alist, pitem)

Definition at line 41 of file voteinfo.c.

## ◆ voteinfo_list_iterate_end

#define voteinfo_list_iterate_end LIST_ITERATE_END

Definition at line 43 of file voteinfo.c.

## Function Documentation

## ◆ voteinfo_bar_can_be_shown()

bool voteinfo_bar_can_be_shown | ( | void |  | ) |

Returns whether the voteinfo bar should be displayed or not.

Definition at line 299 of file voteinfo.c.

Referenced by voteinfo_gui_update().

## ◆ voteinfo_do_vote()

void voteinfo_do_vote | ( | int | vote_no,
|  | enum client_vote_type | vote
| ) |  |

Convenience function for submitting a vote to the server. NB: Only to be used if the server has the "voteinfo" capability.

Definition at line 234 of file voteinfo.c.

Referenced by pregamevote::v_abstain(), pregamevote::v_no(), pregamevote::v_yes(), and voteinfo_bar_do_vote_callback().

## ◆ voteinfo_queue_add()

void voteinfo_queue_add | ( | int | vote_no,
|  | const char * | user,
|  | const char * | desc,
|  | int | percent_required,
|  | int | flags
| ) |  |

Create a new voteinfo record and place it in the queue.

Definition at line 123 of file voteinfo.c.

Referenced by handle_vote_new().

## ◆ voteinfo_queue_check_removed()

void voteinfo_queue_check_removed | ( | void |  | ) |

Check for old votes that should be removed from the queue. This function should be called periodically from a timer callback.

Definition at line 72 of file voteinfo.c.

Referenced by real_timer_callback().

## ◆ voteinfo_queue_delayed_remove()

void voteinfo_queue_delayed_remove | ( | int | vote_no | ) |

Remove the vote with number 'vote_no' after a small amount of time so that the user can see that it was removed.

Definition at line 53 of file voteinfo.c.

Referenced by handle_vote_remove().

## ◆ voteinfo_queue_find()

struct voteinfo * voteinfo_queue_find | ( | int | vote_no | ) |

Find the voteinfo record corresponding to the given vote number.

Definition at line 150 of file voteinfo.c.

Referenced by handle_vote_new(), handle_vote_resolve(), handle_vote_update(), voteinfo_do_vote(), voteinfo_queue_delayed_remove(), and voteinfo_queue_remove().

## ◆ voteinfo_queue_free()

void voteinfo_queue_free | ( | void |  | ) |

Free memory allocated by this module.

Definition at line 179 of file voteinfo.c.

Referenced by client_game_free(), and voteinfo_queue_init().

## ◆ voteinfo_queue_get_current()

struct voteinfo * voteinfo_queue_get_current | ( | int * | pindex | ) |

Get the voteinfo record at the start of the vote queue. If 'pindex' is non-NULL, it is set to queue index of that record. This function is used in conjunction with voteinfo_queue_next().

Definition at line 201 of file voteinfo.c.

Referenced by pregamevote::update_vote(), pregamevote::v_abstain(), pregamevote::v_no(), pregamevote::v_yes(), voteinfo_bar_can_be_shown(), voteinfo_bar_do_vote_callback(), and voteinfo_gui_update().

## ◆ voteinfo_queue_init()

void voteinfo_queue_init | ( | void |  | ) |

Initialize data structures used by this module.

Definition at line 167 of file voteinfo.c.

Referenced by client_game_init().

## ◆ voteinfo_queue_next()

void voteinfo_queue_next | ( | void |  | ) |

Cycle through the votes in the queue.

Definition at line 272 of file voteinfo.c.

Referenced by voteinfo_bar_next_callback(), and voteinfo_queue_get_current().

## ◆ voteinfo_queue_remove()

void voteinfo_queue_remove | ( | int | vote_no | ) |

Remove the given vote from the queue immediately.

Definition at line 103 of file voteinfo.c.

Referenced by voteinfo_queue_check_removed().

## ◆ voteinfo_queue_size()

int voteinfo_queue_size | ( | void |  | ) |

Returns the number of pending votes.

Definition at line 291 of file voteinfo.c.

Referenced by pregamevote::update_vote(), and voteinfo_gui_update().

## Variable Documentation

## ◆ voteinfo_queue

struct voteinfo_list* voteinfo_queue = NULL

static

Definition at line 45 of file voteinfo.c.

Referenced by voteinfo_bar_can_be_shown(), voteinfo_queue_add(), voteinfo_queue_check_removed(), voteinfo_queue_delayed_remove(), voteinfo_queue_find(), voteinfo_queue_free(), voteinfo_queue_get_current(), voteinfo_queue_init(), voteinfo_queue_next(), voteinfo_queue_remove(), and voteinfo_queue_size().

## ◆ voteinfo_queue_current_index

int voteinfo_queue_current_index = 0

static

Definition at line 46 of file voteinfo.c.

Referenced by voteinfo_queue_add(), voteinfo_queue_free(), voteinfo_queue_get_current(), voteinfo_queue_init(), and voteinfo_queue_next().