Directory.cpp 921 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <Kernel/FileSystem/SysFS/Subsystems/Devices/Graphics/Directory.h>
  7. #include <Kernel/FileSystem/SysFS/Subsystems/Devices/Graphics/DisplayConnector/Directory.h>
  8. #include <Kernel/Sections.h>
  9. namespace Kernel {
  10. UNMAP_AFTER_INIT NonnullRefPtr<SysFSGraphicsDirectory> SysFSGraphicsDirectory::must_create(SysFSDevicesDirectory const& parent_directory)
  11. {
  12. auto directory = adopt_ref(*new (nothrow) SysFSGraphicsDirectory(parent_directory));
  13. MUST(directory->m_child_components.with([&](auto& list) -> ErrorOr<void> {
  14. list.append(SysFSDisplayConnectorsDirectory::must_create(*directory));
  15. return {};
  16. }));
  17. return directory;
  18. }
  19. UNMAP_AFTER_INIT SysFSGraphicsDirectory::SysFSGraphicsDirectory(SysFSDevicesDirectory const& parent_directory)
  20. : SysFSDirectory(parent_directory)
  21. {
  22. }
  23. }