mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-09 17:52:31 -10:00
This is done by merging all scattered pieces of derived classes from the ProcFSInode class into that one class, so we don't use inheritance but rather simplistic checks to determine the proper code for each ProcFS inode with its specific characteristics.
35 lines
784 B
C++
35 lines
784 B
C++
/*
|
|
* Copyright (c) 2018-2021, Andreas Kling <[email protected]>
|
|
* Copyright (c) 2021, Spencer Dixon <[email protected]>
|
|
* Copyright (c) 2021, Liav A. <[email protected]>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <Kernel/FileSystem/ProcFS/FileSystem.h>
|
|
#include <Kernel/FileSystem/ProcFS/Inode.h>
|
|
#include <Kernel/ProcessExposed.h>
|
|
|
|
namespace Kernel {
|
|
|
|
ErrorOr<NonnullLockRefPtr<FileSystem>> ProcFS::try_create()
|
|
{
|
|
return TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) ProcFS));
|
|
}
|
|
|
|
ProcFS::ProcFS() = default;
|
|
ProcFS::~ProcFS() = default;
|
|
|
|
ErrorOr<void> ProcFS::initialize()
|
|
{
|
|
m_root_inode = TRY(ProcFSComponentRegistry::the().root_directory().to_inode(*this));
|
|
return {};
|
|
}
|
|
|
|
Inode& ProcFS::root_inode()
|
|
{
|
|
return *m_root_inode;
|
|
}
|
|
|
|
}
|