Die abstrakte Klasse Gate ist die Basis der Unterbrechungsbehandlung. Die Klassen aller Objekte, die in der Plugbox eingetragen werden sollen, müssen von Gate abgeleitet werden und die virtuelle Methode prologue () definieren. Für die virtuelle Methode epilogue () kann in Gate eine leere Implementierung angegeben werden, so dass abgeleitete
Treiberklassen nicht unbedingt einen Epilog definieren müssen. Um feststellen, ob ein Gate-Objekt schon in eine Epilog-Warteschlange einhängt wurde, soll ein entsprechendes boolesches Attribut in die Klasse aufgenommen werden, das durch Zugriffsfunktionen gesetzt und abgefragt werden kann.
öffentliche Methoden
bool prologue ()
Prolog der Unterbrechungsbehandlung. Ein Rückgabewert true zeigt an, dass der zugehörige Epilog ausgeführt werden soll.
void epilogue ()
Epilogue der Unterbrechungsbehandlung.
void queued (bool q)
Speichert, ob das jeweilige Objekt sich gerade in einer
Epilog-Warteschlange befindet.
bool queued ()
Methode zum Abfragen, ob sich das jeweilige Objekte gerade in
einer Epilog-Warteschlange befindet.