aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/ext2/ext2_inode.cpp
blob: 0a1994ba5532179667d60b5a2882b45603540ae1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "kernel/filesystem/ext2/ext2_inode.hpp"

#include "kapi/system.hpp"

#include "kernel/filesystem/file.hpp"
#include "kernel/filesystem/inode.hpp"
#include "kernel/filesystem/inode_file.hpp"

#include <kstd/memory>

namespace filesystem::ext2
{
  ext2_inode::ext2_inode()
      : inode(inode_kind::regular)
  {}

  auto ext2_inode::open_file(kstd::shared_ptr<inode> const & self) const -> kstd::shared_ptr<filesystem::file>
  {
    if (!self)
    {
      kapi::system::panic("[FILESYSTEM] ext2_inode::open_file called with null inode.");
    }

    return kstd::make_shared<inode_file>(self);
  }
}  // namespace filesystem::ext2