Crossfire Server, Branch 1.12  R12190
Functions | Variables
timers.c File Reference

This handles custom timers. More...

#include <timers.h>
#include <sproto.h>
Include dependency graph for timers.c:

Go to the source code of this file.

Functions

int cftimer_create (int id, long delay, object *ob, int mode)
 Creates a new timer.
int cftimer_destroy (int id)
 Destroys an existing timer.
int cftimer_find_free_id (void)
 Finds a free ID for a new timer.
void cftimer_init (void)
 Initialize timers.
static void cftimer_process_event (tag_t ob_tag)
 Triggers the EVENT_TIMER of the given object.
void cftimer_process_timers (void)
 Processes all timers.

Variables

cftimer timers_table [MAX_TIMERS]
 The actual timers.

Detailed Description

This handles custom timers.

See Custom timers.

Definition in file timers.c.


Function Documentation

int cftimer_create ( int  id,
long  delay,
object *  ob,
int  mode 
)

Creates a new timer.

Parameters:
iddesired timer identifier.
delaydesired timer delay.
obobject that will be linked to this timer. Should have an EVENT_TIMER handler.
modeunit for delay, should be TIMER_MODE_SECONDS or TIMER_MODE_CYCLES. See timers.h.
Return values:
TIMER_ERR_NONEtimer was successfully created.
TIMER_ERR_IDinvalid ID.
TIMER_ERR_MODEinvalid mode.
TIMER_ERR_OBJob is NULL or has no EVENT_TIMER handler.

Definition at line 106 of file timers.c.

References _cftimer::delay, EVENT_CONNECTOR, EVENT_TIMER, find_obj_by_type_subtype(), MAX_TIMERS, _cftimer::mode, _cftimer::ob_tag, seconds(), TIMER_ERR_ID, TIMER_ERR_MODE, TIMER_ERR_NONE, TIMER_ERR_OBJ, TIMER_MODE_CYCLES, TIMER_MODE_DEAD, and TIMER_MODE_SECONDS.

Referenced by cfapi_timer_create().

Here is the call graph for this function:

Here is the caller graph for this function:

int cftimer_destroy ( int  id)

Destroys an existing timer.

Parameters:
ididentifier of the timer to destroy.
Return values:
TIMER_ERR_NONEno problem encountered.
TIMER_ERR_IDunknown id - timer not found or invalid.

Definition at line 137 of file timers.c.

References MAX_TIMERS, _cftimer::mode, TIMER_ERR_ID, TIMER_ERR_NONE, and TIMER_MODE_DEAD.

Referenced by cfapi_timer_destroy().

Here is the caller graph for this function:

int cftimer_find_free_id ( void  )

Finds a free ID for a new timer.

Return values:
TIMER_ERR_IDno free ID available.
>0an available ID.

Definition at line 153 of file timers.c.

References MAX_TIMERS, TIMER_ERR_ID, and TIMER_MODE_DEAD.

Referenced by cfapi_timer_create().

Here is the caller graph for this function:

void cftimer_init ( void  )

Initialize timers.

Definition at line 166 of file timers.c.

References MAX_TIMERS.

Referenced by init().

Here is the caller graph for this function:

static void cftimer_process_event ( tag_t  ob_tag) [static]

Triggers the EVENT_TIMER of the given object.

Parameters:
ob_tagobject tag to use.

Definition at line 80 of file timers.c.

References EVENT_TIMER, execute_event(), find_object(), and SCRIPT_FIX_ALL.

Referenced by cftimer_process_timers().

Here is the call graph for this function:

Here is the caller graph for this function:

void cftimer_process_timers ( void  )

Processes all timers.

Definition at line 53 of file timers.c.

References cftimer_process_event(), _cftimer::delay, MAX_TIMERS, _cftimer::mode, seconds(), TIMER_MODE_CYCLES, TIMER_MODE_DEAD, and TIMER_MODE_SECONDS.

Referenced by server_main().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

The actual timers.

Definition at line 46 of file timers.c.