StuBS
|
Class of objects that are capable of handling interrupts. More...
#include <interrupt/gate.h>
Public Member Functions | |
Gate () | |
Constructor. | |
virtual | ~Gate () |
Destructor. More... | |
bool | is_queued () |
Status about the epilogue. More... | |
void | set_queued (bool val) |
Set epilogue status. More... | |
virtual bool | prologue ()=0 |
Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously). More... | |
virtual void | epilogue () |
Possibly delayed, synchronously executed Device-specific interrupt handling routine. More... | |
Friends | |
class | GateQueue |
Class of objects that are capable of handling interrupts.
All objects to be assigned in Plugbox must be derived from this class.
Each inheriting class must now define the virtual method Gate::epilogue(). For the virtual method Gate::epilogue() an empty implementation can be specified in this parent class, so derived device classes do not necessarily have to define an Gate::epilogue() on their own.
|
inlinevirtual |
Destructor.
Classes with virtual methods should always have a virtual destructor (which can be empty as well). In StuBS this will calm the compiler, on other systems this will guarantee that delete will free the memory for objects of the derived classes correctly.
|
inline |
Status about the epilogue.
true
if the epilogue is already queued.
|
inline |
Set epilogue status.
val | New statuus of the epilogue. True if the epilogue is queued. |
|
pure virtual |
Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously).
true
if the epilogue has to be executed. Implemented in Keyboard, Mouse, Panic, and SerialStream.
|
inlinevirtual |
Possibly delayed, synchronously executed Device-specific interrupt handling routine.
Reimplemented in Keyboard, Mouse, and SerialStream.