From d22f98cb70587dc451db5cfc0abd4b7fd89ee602 Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Sat, 28 Feb 2026 19:09:54 +0100 Subject: small refactoring, add some todos --- .../include/devices/storage/RAMDisk/RAMDiskController.hpp | 3 ++- kernel/devices/include/devices/storage/StorageController.hpp | 4 ++++ kernel/devices/include/devices/storage/StorageManagement.hpp | 9 ++++----- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'kernel/devices') diff --git a/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp b/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp index 6213ed4..bb61bbc 100644 --- a/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp +++ b/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp @@ -17,13 +17,14 @@ namespace devices::storage::ram_disk explicit ram_disk_controller(kapi::boot_modules::boot_module_registry const * registry); auto probe() -> void override; + auto devices_count() -> size_t override; private: auto create_device_from_boot_module(kapi::boot_modules::boot_module const & module) -> void; kapi::boot_modules::boot_module_registry const * m_boot_module_registry; - std::array m_devices{}; // TODO BA-FS26 use kstd::vector + std::array m_devices{}; // TODO BA-FS26 use kstd::vector when available }; } // namespace devices::storage::ram_disk diff --git a/kernel/devices/include/devices/storage/StorageController.hpp b/kernel/devices/include/devices/storage/StorageController.hpp index 7904d07..68c6907 100644 --- a/kernel/devices/include/devices/storage/StorageController.hpp +++ b/kernel/devices/include/devices/storage/StorageController.hpp @@ -9,7 +9,11 @@ namespace devices::storage virtual ~storage_controller() = default; virtual auto probe() -> void = 0; + virtual auto devices_count() -> size_t = 0; + + // TODO BA-FS26 + // virtual auto get_device(size_t index) -> std::optional = 0; }; } // namespace devices::storage diff --git a/kernel/devices/include/devices/storage/StorageManagement.hpp b/kernel/devices/include/devices/storage/StorageManagement.hpp index 9098312..c237245 100644 --- a/kernel/devices/include/devices/storage/StorageManagement.hpp +++ b/kernel/devices/include/devices/storage/StorageManagement.hpp @@ -8,22 +8,21 @@ namespace devices::storage { + // TODO BA-FS26 add documentation struct storage_management { - // TODO BA-FS26 add documentation - auto static init() -> void; + auto static get() -> storage_management &; auto add_controller(storage_controller * controller) -> void; - auto add_device(block_device * device) -> void; private: storage_management() = default; - std::array m_controllers{}; // TODO BA-FS26 use kstd::vector - std::array m_devices{}; // TODO BA-FS26 use kstd::vector + std::array m_controllers{}; // TODO BA-FS26 use kstd::vector when available + std::array m_devices{}; // TODO BA-FS26 use kstd::vector when available }; } // namespace devices::storage -- cgit v1.2.3