feat(bt-module): Add optional “configurable” interface to bt io modules

This solves the problem have requiring nested configuration for
several IO modules in bemanitools, e.g. com port configuration
for p3io.

Don’t make this a part of the specific IO API, e.g. iidxio, to keep the
IO interface clean and independent of bemanitools. Any bemanitools
functionality is composed as separate interfaces into a final module.

This concept was already applied to all modules with providing the
API vtables for threads, log and config.
This commit is contained in:
icex2
2024-08-17 12:50:15 +02:00
parent 620ca84c5f
commit d237b42525
5 changed files with 66 additions and 0 deletions
+1
View File
@@ -20,6 +20,7 @@ void module_io_core_log_api_set(
const module_io_t *module, const bt_core_log_api_t *api);
void module_io_core_thread_api_set(
const module_io_t *module, const bt_core_thread_api_t *api);
bool module_io_configure_do(const module_io_t *module, const bt_core_config_t *config);
void module_io_api_get(const module_io_t *module, void *api);