diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-21 10:52:46 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-26 21:17:36 +0100 |
| commit | ffb2accb09a013d8da16acd824c846bc1acfd8e4 (patch) | |
| tree | e9d8e2707a860a97458655d38f2cf561eda02897 /kernel/include | |
| parent | 09bf8eba8dbc76dc9c46ec1486cbf2f9530233a8 (diff) | |
| download | teachos-ffb2accb09a013d8da16acd824c846bc1acfd8e4.tar.xz teachos-ffb2accb09a013d8da16acd824c846bc1acfd8e4.zip | |
use enable_shared_from_this instead of self invocation method
Diffstat (limited to 'kernel/include')
| -rw-r--r-- | kernel/include/kernel/filesystem/device_inode.hpp | 4 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/ext2/ext2_inode.hpp | 5 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/inode.hpp | 4 |
3 files changed, 6 insertions, 7 deletions
diff --git a/kernel/include/kernel/filesystem/device_inode.hpp b/kernel/include/kernel/filesystem/device_inode.hpp index af2a51b..10e40b3 100644 --- a/kernel/include/kernel/filesystem/device_inode.hpp +++ b/kernel/include/kernel/filesystem/device_inode.hpp @@ -14,12 +14,12 @@ namespace filesystem { explicit device_inode(kstd::shared_ptr<devices::device> const & device); - [[nodiscard]] auto open_file(kstd::shared_ptr<inode> const & self) const -> kstd::shared_ptr<file> override; + [[nodiscard]] auto open_file() -> kstd::shared_ptr<file> override; [[nodiscard]] auto device() const -> kstd::shared_ptr<devices::device> const &; private: - kstd::shared_ptr<devices::device> m_device{}; + kstd::shared_ptr<devices::device> m_device; }; } // namespace filesystem diff --git a/kernel/include/kernel/filesystem/ext2/ext2_inode.hpp b/kernel/include/kernel/filesystem/ext2/ext2_inode.hpp index b57d267..e6e8e99 100644 --- a/kernel/include/kernel/filesystem/ext2/ext2_inode.hpp +++ b/kernel/include/kernel/filesystem/ext2/ext2_inode.hpp @@ -13,11 +13,10 @@ namespace filesystem::ext2 { explicit ext2_inode(); - [[nodiscard]] auto open_file(kstd::shared_ptr<inode> const & self) const - -> kstd::shared_ptr<filesystem::file> override; + [[nodiscard]] auto open_file() -> kstd::shared_ptr<filesystem::file> override; private: - kstd::shared_ptr<ext2_file> m_file{}; + kstd::shared_ptr<ext2_file> m_file; }; } // namespace filesystem::ext2 diff --git a/kernel/include/kernel/filesystem/inode.hpp b/kernel/include/kernel/filesystem/inode.hpp index 8c9f75e..1083d13 100644 --- a/kernel/include/kernel/filesystem/inode.hpp +++ b/kernel/include/kernel/filesystem/inode.hpp @@ -7,7 +7,7 @@ namespace filesystem { struct file; - struct inode + struct inode : kstd::enable_shared_from_this<inode> { enum class inode_kind { @@ -20,7 +20,7 @@ namespace filesystem virtual ~inode() = default; - [[nodiscard]] virtual auto open_file(kstd::shared_ptr<inode> const & self) const -> kstd::shared_ptr<file> = 0; + [[nodiscard]] virtual auto open_file() -> kstd::shared_ptr<file> = 0; [[nodiscard]] auto is_directory() const -> bool; [[nodiscard]] auto is_regular() const -> bool; |
