summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-02 15:16:23 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-02 15:16:23 +0200
commit4089e006820e1029a2dd7093bae596b1b31d1686 (patch)
treece245488b8edecb8e061cae9b5c3433b05b183a9 /src
parent834af201bae182e75f8aab9b5befc1ed8740ef79 (diff)
downloadabaos-4089e006820e1029a2dd7093bae596b1b31d1686.tar.gz
abaos-4089e006820e1029a2dd7093bae596b1b31d1686.tar.bz2
simplified some driver manager code around calling virtual driver methods
declared method tables const per class
Diffstat (limited to 'src')
-rw-r--r--src/drivers/driver.c12
-rw-r--r--src/drivers/driver.h2
-rw-r--r--src/drivers/hdi/ps2/keyboard.c2
-rw-r--r--src/drivers/hdi/ps2/mouse.c2
-rw-r--r--src/drivers/video/vga.c2
-rw-r--r--src/gui/composite_widget.c2
-rw-r--r--src/gui/desktop.c2
-rw-r--r--src/gui/text_widget.c2
-rw-r--r--src/gui/widget.c2
-rw-r--r--src/gui/widget.h2
-rw-r--r--src/gui/window.c2
11 files changed, 14 insertions, 18 deletions
diff --git a/src/drivers/driver.c b/src/drivers/driver.c
index 5a1a479..d0a2f5d 100644
--- a/src/drivers/driver.c
+++ b/src/drivers/driver.c
@@ -24,8 +24,7 @@ void driver_manager_activate_all( driver_manager_t *manager )
{
for( int i = 0; i < manager->nof_drivers; i++ ) {
driver_t *driver = (driver_t *)manager->driver[i];
- driver_vtable_t *driver_vtable = driver->vtable;
- driver_vtable->activate( driver );
+ driver->vtable->activate( driver );
}
}
@@ -37,8 +36,7 @@ void driver_manager_deactivate_all( driver_manager_t *manager )
for( int i = manager->nof_drivers - 1; i >= 0; i-- ) {
driver_t *driver = (driver_t *)manager->driver[i];
- driver_vtable_t *driver_vtable = driver->vtable;
- driver_vtable->deactivate( driver );
+ driver->vtable->deactivate( driver );
}
}
@@ -50,8 +48,7 @@ void driver_manager_deinit( driver_manager_t *manager )
for( int i = manager->nof_drivers - 1; i >= 0; i-- ) {
driver_t *driver = (driver_t *)manager->driver[i];
- driver_vtable_t *driver_vtable = driver->vtable;
- driver_vtable->deinit( driver );
+ driver->vtable->deinit( driver );
}
}
@@ -59,7 +56,6 @@ void driver_manager_print_info_all( driver_manager_t *manager )
{
for( int i = 0; i < manager->nof_drivers; i++ ) {
driver_t *driver = (driver_t *)manager->driver[i];
- driver_vtable_t *driver_vtable = driver->vtable;
- driver_vtable->print_info( driver );
+ driver->vtable->print_info( driver );
}
}
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index c110308..c725871 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -11,7 +11,7 @@ typedef struct {
} driver_vtable_t;
typedef struct {
- driver_vtable_t *vtable;
+ driver_vtable_t const *vtable;
} driver_t;
#define MAX_NOF_DRIVERS 256
diff --git a/src/drivers/hdi/ps2/keyboard.c b/src/drivers/hdi/ps2/keyboard.c
index eddb1dc..740c9ec 100644
--- a/src/drivers/hdi/ps2/keyboard.c
+++ b/src/drivers/hdi/ps2/keyboard.c
@@ -64,7 +64,7 @@ static void read_ack( keyboard_t *keyboard )
}
*/
-static keyboard_vtable_t keyboard_vtable = {
+static keyboard_vtable_t const keyboard_vtable = {
{
keyboard_activate,
keyboard_deactivate,
diff --git a/src/drivers/hdi/ps2/mouse.c b/src/drivers/hdi/ps2/mouse.c
index 13fd37a..1421729 100644
--- a/src/drivers/hdi/ps2/mouse.c
+++ b/src/drivers/hdi/ps2/mouse.c
@@ -76,7 +76,7 @@ static void set_sample_rate( mouse_t *mouse, uint8_t samples )
read_ack( mouse );
}
-static mouse_vtable_t mouse_vtable = {
+static mouse_vtable_t const mouse_vtable = {
{
mouse_activate,
mouse_deactivate,
diff --git a/src/drivers/video/vga.c b/src/drivers/video/vga.c
index fa974d5..b8e3120 100644
--- a/src/drivers/video/vga.c
+++ b/src/drivers/video/vga.c
@@ -8,7 +8,7 @@
#undef DEBUG
-static vga_vtable_t vga_vtable = {
+static vga_vtable_t const vga_vtable = {
{
vga_activate,
vga_deactivate,
diff --git a/src/gui/composite_widget.c b/src/gui/composite_widget.c
index 4a7a607..743360f 100644
--- a/src/gui/composite_widget.c
+++ b/src/gui/composite_widget.c
@@ -3,7 +3,7 @@
#include "string.h"
#include "stddef.h"
-static composite_widget_vtable_t composite_widget_vtable = {
+static composite_widget_vtable_t const composite_widget_vtable = {
{
composite_widget_draw,
composite_widget_get_focus,
diff --git a/src/gui/desktop.c b/src/gui/desktop.c
index a27ac9a..98fb900 100644
--- a/src/gui/desktop.c
+++ b/src/gui/desktop.c
@@ -3,7 +3,7 @@
#include "string.h"
#include "stddef.h"
-static desktop_vtable_t desktop_vtable = {
+static desktop_vtable_t const desktop_vtable = {
{
{
desktop_draw,
diff --git a/src/gui/text_widget.c b/src/gui/text_widget.c
index 170066a..49c1be7 100644
--- a/src/gui/text_widget.c
+++ b/src/gui/text_widget.c
@@ -3,7 +3,7 @@
#include "string.h"
#include "stddef.h"
-static text_widget_vtable_t text_widget_vtable = {
+static text_widget_vtable_t const text_widget_vtable = {
{
text_widget_draw,
widget_get_focus,
diff --git a/src/gui/widget.c b/src/gui/widget.c
index 81ab264..3620761 100644
--- a/src/gui/widget.c
+++ b/src/gui/widget.c
@@ -3,7 +3,7 @@
#include "string.h"
#include "stddef.h"
-static widget_vtable_t widget_vtable = {
+static widget_vtable_t const widget_vtable = {
widget_draw,
widget_get_focus,
widget_model_to_screen,
diff --git a/src/gui/widget.h b/src/gui/widget.h
index ceb5b71..87b8c62 100644
--- a/src/gui/widget.h
+++ b/src/gui/widget.h
@@ -27,7 +27,7 @@ typedef struct widget_t {
vga_color_t background_color;
bool focusable;
struct widget_t *parent;
- widget_vtable_t *vtable;
+ widget_vtable_t const *vtable;
} widget_t;
void widget_init( widget_t *widget, widget_t *parent, const int x, const int y, const int w, const int h, const vga_color_t background_color );
diff --git a/src/gui/window.c b/src/gui/window.c
index 3a75434..80c0b6c 100644
--- a/src/gui/window.c
+++ b/src/gui/window.c
@@ -3,7 +3,7 @@
#include "string.h"
#include "stddef.h"
-static window_vtable_t window_vtable = {
+static window_vtable_t const window_vtable = {
{
{
window_draw,