depend.h File Reference

This graph shows which files directly or indirectly include this file:


Data Structures

struct  updaterfunc_t
 Structure describing an updater function. More...

Typedefs

typedef void(* updater_f )(int src, int dst, table *tab)
 Pointer to an updater function.
typedef updaterfunc_t updaterfunc

Functions

int updater_reorder ()
 Reorders dep_updaterlist linked list.
int updater_check (int dst)
 Checks if an updater function can be registered for a dependent event.
updaterfuncupdater_new (int src, int dst, updater_f func)
 Register a new updater function.
void updater_call (table *tab)
 Calls all registered updater functions.

Detailed Description


Typedef Documentation

typedef void(* updater_f)(int src, int dst, table *tab)
 

Pointer to an updater function.

Updater function updates the assignment of one or more variable resources to an dependent event in a timetable structure.

The variable resources it assigns to this event depend on which variable resources have been assigned to a different, independent event.

Parameters:
src Tuple ID of the independent event.
dst Tuple ID of the dependent event.
tab Pointer to the timetable structure.


Function Documentation

void updater_call table tab  ) 
 

Calls all registered updater functions.

Functions are called in the order of the linked list. updater_reorder() must be called before the first call to updater_call() to properly reorder the linked list.

Parameters:
tab Pointer to the timetable structure.

int updater_check int  dst  ) 
 

Checks if an updater function can be registered for a dependent event.

Parameters:
dst Tuple ID of the dependent event.
Returns:
0 if an updater function can be registered or -1 if an updater function can not be registered for this event.

updaterfunc* updater_new int  src,
int  dst,
updater_f  func
 

Register a new updater function.

It is recommended that updater_check() is called before calling this function to verify if there isn't another updater function registered for this dependent event.

Parameters:
src Tuple ID of the independent event.
dst Tuple ID of the dependent event.
func Pointer to the updater function.
Returns:
Pointer to the updaterfunc structure or NULL on error.

int updater_reorder  ) 
 

Reorders dep_updaterlist linked list.

A source (independent) event for an updater function can infact be a destination (dependent) event of another updater function. This means that updater functions must be called in the correct order.

Example: Function A has a source event 2 and destination event 3. Function B has a source event 1 and destination event 2. In this case updater_reorder() puts function B in front of A.

Returns:
0 on success or -1 on error (there was a circular dependency and the correct order of calling can not be determined.


Generated on Thu Feb 9 17:18:31 2006 for Tablix by  doxygen 1.4.6