StuBS
GuardedKeyboard Class Reference

syscall interface for keyboard. More...

#include <syscall/guarded_keyboard.h>

Inheritance diagram for GuardedKeyboard:
[legend]
Collaboration diagram for GuardedKeyboard:
[legend]

Public Member Functions

Key getKey ()
 Application interface to retrieve a Key. More...
 
- Public Member Functions inherited from Keyboard
 Keyboard ()
 Constructor.
 
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

◆ getKey()

Key GuardedKeyboard::getKey ( )
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
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.

The documentation for this class was generated from the following file: