Aufgabe 6: Synchronisation
GuardedKeyboard Class Reference
syscall interface for keyboard. More...
#include <syscall/guarded_keyboard.h>
Inheritance diagram for GuardedKeyboard:
Collaboration diagram for GuardedKeyboard:
Public Member Functions | |
Key | getKey () |
Application interface to retrieve a Key. More... | |
Public Member Functions inherited from Keyboard | |
Keyboard () | |
Constructor. More... | |
void | plugin () |
Initialization of the keyboard. More... | |
bool | prologue () override |
Prologue of keyboard interrupts. More... | |
void | epilogue () override |
Epilogue of keyboard interrupts. More... | |
Key | getKey () |
Application interface to retrieve a Key. More... | |
Public Member Functions inherited from Gate | |
Gate () | |
Constructor. | |
virtual | ~Gate () |
Destructor. 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... | |
Detailed Description
syscall interface for keyboard.
Guarded interface to the Keyboard used by user applications.
Implements the system call interface for class Keyboard. All methods provided by this class are wrappers for the respective method from the base class, which provide additional synchronization by using the class Guarded.
Member Function Documentation
|
inline |
Application interface to retrieve a Key.
This method returns one pressed key (as an Key object). If no key has been pressed, the calling application thread is blocked until a key is available – this is achieved by using a Semaphore.
- Returns
- Pressed key
- Todo:
- Implement Method
- Note
- This method is equal to the correspondent method in base class Keyboard, with the only difference that the call will be protected by a Guarded object.
- Todo:
- Implement method
The documentation for this class was generated from the following file:
- syscall/guarded_keyboard.h