/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Kernel { class ProcFSDirectoryInode final : public ProcFSGlobalInode { friend class ProcFS; public: static ErrorOr> try_create(ProcFS const&, ProcFSExposedComponent const&); virtual ~ProcFSDirectoryInode() override; protected: ProcFSDirectoryInode(ProcFS const&, ProcFSExposedComponent const&); // ^Inode virtual InodeMetadata metadata() const override; virtual ErrorOr traverse_as_directory(Function(FileSystem::DirectoryEntryView const&)>) const override; virtual ErrorOr> lookup(StringView name) override; }; }