Übungen zu BS - Aufgaben (WS 2013/14)
Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln. Mehr ...
#include <gate.h>


Öffentliche Methoden | |
Gate () | |
Konstruktor. | |
virtual | ~Gate () |
Destruktor. | |
virtual bool | prologue ()=0 |
Unterbrechungsbehandlungsroutine, die sofort nach Auftreten der Unterbrechung asynchron zu anderen Kernaktivitäten ausgeführt wird. | |
virtual void | epilogue () |
Eine gegebenenfalls verzögerte, synchronisiert ausgeführte Unterbrechungsbehandlung. | |
bool | acquire () |
Setzt ein Flag um zu markieren, dass sich das Objekt gerade in einer Epilog-Warteschlange befindet. | |
void | release () |
Gibt das Flag das in acquire() geholt wurde wieder frei. |
Weitere Geerbte Elemente | |
![]() | |
Gate * | next |
next gibt das nächste Element der Liste an. |
Ausführliche Beschreibung
Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln.
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.
Beschreibung der Konstruktoren und Destruktoren
|
inlinevirtual |
Destruktor.
Klassen mit virtuellen Methoden sollten grundsätzlich einen virtuellen Destruktor besitzen, der auch leer sein darf. Bei OO-Stubs beruhigt das den Compiler, bei anderen Systemen garantiert das, dass die Speicherfreigabe mit delete für Objekte der abgeleiteten Klassen korrekt funktioniert.
Dokumentation der Elementfunktionen
|
inline |
Setzt ein Flag um zu markieren, dass sich das Objekt gerade in einer Epilog-Warteschlange befindet.
- Rückgabe
- gibt an ob das Flag erfolgreich gesetzt werden konnte (true), oder ob das Flag schon gesetzt war (false).
|
pure virtual |
|
inline |
Gibt das Flag das in acquire() geholt wurde wieder frei.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
- guard/gate.h