FAU UnivIS
Techn. Fak. Dep. Informatik
Bellringer Klassenreferenz

Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten. Mehr ...

#include <bellringer.h>

Klassendiagramm für Bellringer:
Zusammengehörigkeiten von Bellringer:

Öffentliche Methoden

 Bellringer ()
 Konstruktor. Mehr ...
 
void check ()
 Prüft, ob Glocken zu läuten sind und tut es gegebenenfalls. Mehr ...
 
void job (Bell *bell, unsigned int ticks)
 Die Glocke bell wird dem Glöckner überantwortet. Sie soll nach ticks Zeiteinheiten geläutet werden. Mehr ...
 
void cancel (Bell *bell)
 Die Glocke bell soll nun doch nicht geläutet werden. Mehr ...
 
bool bell_pending ()
 Ist eine Glocke eingehangen? Mehr ...
 

Ausführliche Beschreibung

Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten.

Der "Glöckner" (Bellringer) wird regelmäßig aktiviert und prüft, ob irgendwelche "Glocken" (Bell-Objekte) läuten müssen. Die Glocken befinden sich in einer Liste, die der Glöckner verwaltet. Eine geschickte Implementierung vermeidet, bei jeder Aktivierung die gesamte Liste zu durchlaufen.

Beschreibung der Konstruktoren und Destruktoren

Bellringer::Bellringer ( )
inline

Konstruktor.

Dokumentation der Elementfunktionen

bool Bellringer::bell_pending ( )

Ist eine Glocke eingehangen?

Rückgabe
Mindestens eine Glocke ist eingehangen.
void Bellringer::cancel ( Bell bell)

Die Glocke bell soll nun doch nicht geläutet werden.

Parameter
bellDie Glocke, die nicht geläutet werden soll.
void Bellringer::check ( )

Prüft, ob Glocken zu läuten sind und tut es gegebenenfalls.

Bei jedem Aufruf von check vergeht ein Tick. Wenn das Ticken einer Glocke dazu führt, dass sie ihre Zeit abgelaufen ist, wird sie geläutet.

void Bellringer::job ( Bell bell,
unsigned int  ticks 
)

Die Glocke bell wird dem Glöckner überantwortet. Sie soll nach ticks Zeiteinheiten geläutet werden.

Parameter
bellGlocke, die nach ticks Zeiteinheiten geläutet werden soll.
ticksAnzahl der Zeiteinheiten, die abgewartet werden sollen bevor die Glocke bell geläutet wird.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: