Directory.h 878 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <Kernel/FileSystem/SysFS/Component.h>
  8. #include <Kernel/Forward.h>
  9. namespace Kernel {
  10. class DisplayConnectorSysFSDirectory;
  11. class DisplayConnector;
  12. class SysFSGraphicsDirectory;
  13. class SysFSDisplayConnectorsDirectory : public SysFSDirectory {
  14. friend class SysFSComponentRegistry;
  15. public:
  16. virtual StringView name() const override { return "connectors"sv; }
  17. static SysFSDisplayConnectorsDirectory& the();
  18. static NonnullLockRefPtr<SysFSDisplayConnectorsDirectory> must_create(SysFSGraphicsDirectory const&);
  19. void plug(Badge<DisplayConnector>, DisplayConnectorSysFSDirectory&);
  20. void unplug(Badge<DisplayConnector>, SysFSDirectory&);
  21. private:
  22. explicit SysFSDisplayConnectorsDirectory(SysFSGraphicsDirectory const&);
  23. };
  24. }