From 4f6329580277c5ffa14a65e4580c63ef0adcc92f Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Tue, 22 Jul 2008 05:31:26 +0000 Subject: [PATCH] Add a function to initialize the base class. --- src/device-private.h | 3 +++ src/device.c | 8 ++++++++ src/oceanic_atom2.c | 4 +++- src/reefnet_sensuspro.c | 4 +++- src/reefnet_sensusultra.c | 4 +++- src/suunto_d9.c | 4 +++- src/suunto_eon.c | 4 +++- src/suunto_vyper.c | 4 +++- src/suunto_vyper2.c | 4 +++- src/uwatec_aladin.c | 4 +++- src/uwatec_memomouse.c | 4 +++- src/uwatec_smart.c | 4 +++- 12 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/device-private.h b/src/device-private.h index c41042b..4ee4f20 100644 --- a/src/device-private.h +++ b/src/device-private.h @@ -34,6 +34,9 @@ struct device_backend_t { device_status_t (*close) (device_t *device); }; +void +device_init (device_t *device, const device_backend_t *backend); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/src/device.c b/src/device.c index 842a4b8..de96168 100644 --- a/src/device.c +++ b/src/device.c @@ -2,6 +2,14 @@ #define NULL 0 + +void +device_init (device_t *device, const device_backend_t *backend) +{ + device->backend = backend; +} + + device_type_t device_get_type (device_t *device) { diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index d7ed6da..775868b 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -158,8 +158,10 @@ oceanic_atom2_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &oceanic_atom2_device_backend); + // Set the default values. - device->base.backend = &oceanic_atom2_device_backend; device->port = NULL; // Open the device. diff --git a/src/reefnet_sensuspro.c b/src/reefnet_sensuspro.c index 3660b27..39af238 100644 --- a/src/reefnet_sensuspro.c +++ b/src/reefnet_sensuspro.c @@ -49,8 +49,10 @@ reefnet_sensuspro_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &reefnet_sensuspro_device_backend); + // Set the default values. - device->base.backend = &reefnet_sensuspro_device_backend; device->port = NULL; // Open the device. diff --git a/src/reefnet_sensusultra.c b/src/reefnet_sensusultra.c index 1f81142..9b55c73 100644 --- a/src/reefnet_sensusultra.c +++ b/src/reefnet_sensusultra.c @@ -54,8 +54,10 @@ reefnet_sensusultra_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &reefnet_sensusultra_device_backend); + // Set the default values. - device->base.backend = &reefnet_sensusultra_device_backend; device->port = NULL; device->maxretries = 2; diff --git a/src/suunto_d9.c b/src/suunto_d9.c index e4e0d95..737894c 100644 --- a/src/suunto_d9.c +++ b/src/suunto_d9.c @@ -55,8 +55,10 @@ suunto_d9_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &suunto_d9_device_backend); + // Set the default values. - device->base.backend = &suunto_d9_device_backend; device->port = NULL; // Open the device. diff --git a/src/suunto_eon.c b/src/suunto_eon.c index 0058635..d93a49a 100644 --- a/src/suunto_eon.c +++ b/src/suunto_eon.c @@ -50,8 +50,10 @@ suunto_eon_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &suunto_eon_device_backend); + // Set the default values. - device->base.backend = &suunto_eon_device_backend; device->port = NULL; // Open the device. diff --git a/src/suunto_vyper.c b/src/suunto_vyper.c index a1ccd7d..15a92e6 100644 --- a/src/suunto_vyper.c +++ b/src/suunto_vyper.c @@ -52,8 +52,10 @@ suunto_vyper_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &suunto_vyper_device_backend); + // Set the default values. - device->base.backend = &suunto_vyper_device_backend; device->port = NULL; device->extraanswertime = 0; device->ifacealwaysechos = 0; diff --git a/src/suunto_vyper2.c b/src/suunto_vyper2.c index 8ce227e..b0e7896 100644 --- a/src/suunto_vyper2.c +++ b/src/suunto_vyper2.c @@ -55,8 +55,10 @@ suunto_vyper2_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &suunto_vyper2_device_backend); + // Set the default values. - device->base.backend = &suunto_vyper2_device_backend; device->port = NULL; // Open the device. diff --git a/src/uwatec_aladin.c b/src/uwatec_aladin.c index f7b4948..b6b420d 100644 --- a/src/uwatec_aladin.c +++ b/src/uwatec_aladin.c @@ -52,8 +52,10 @@ uwatec_aladin_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &uwatec_aladin_device_backend); + // Set the default values. - device->base.backend = &uwatec_aladin_device_backend; device->port = NULL; // Open the device. diff --git a/src/uwatec_memomouse.c b/src/uwatec_memomouse.c index 0c4da2e..82efa39 100644 --- a/src/uwatec_memomouse.c +++ b/src/uwatec_memomouse.c @@ -53,8 +53,10 @@ uwatec_memomouse_device_open (device_t **out, const char* name) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &uwatec_memomouse_device_backend); + // Set the default values. - device->base.backend = &uwatec_memomouse_device_backend; device->port = NULL; device->timestamp = 0; diff --git a/src/uwatec_smart.c b/src/uwatec_smart.c index f96447c..db1cf11 100644 --- a/src/uwatec_smart.c +++ b/src/uwatec_smart.c @@ -77,8 +77,10 @@ uwatec_smart_device_open (device_t **out) return DEVICE_STATUS_MEMORY; } + // Initialize the base class. + device_init (&device->base, &uwatec_smart_device_backend); + // Set the default values. - device->base.backend = &uwatec_smart_device_backend; device->socket = NULL; device->address = 0; device->timestamp = 0;