Serenity Operating System
at master 30 lines 864 B view raw
1/* 2 * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <Kernel/FileSystem/SysFS/Component.h> 10#include <Kernel/FileSystem/SysFS/Subsystems/DeviceIdentifiers/DeviceComponent.h> 11#include <Kernel/FileSystem/SysFS/Subsystems/DeviceIdentifiers/Directory.h> 12 13namespace Kernel { 14 15class CharacterDevice; 16class SysFSCharacterDevicesDirectory final : public SysFSDirectory { 17 18public: 19 virtual StringView name() const override { return "char"sv; } 20 static NonnullLockRefPtr<SysFSCharacterDevicesDirectory> must_create(SysFSDeviceIdentifiersDirectory const&); 21 22 static SysFSCharacterDevicesDirectory& the(); 23 24 ChildList& devices_list(Badge<CharacterDevice>) { return m_child_components; } 25 26private: 27 explicit SysFSCharacterDevicesDirectory(SysFSDeviceIdentifiersDirectory const&); 28}; 29 30}