/* * Copyright (c) 2021, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include namespace Kernel { class GraphicsManagement; struct BochsDisplayMMIORegisters; class BochsDisplayConnector; class BochsGraphicsAdapter final : public GenericGraphicsAdapter , public PCI::Device { friend class GraphicsManagement; public: static NonnullRefPtr initialize(PCI::DeviceIdentifier const&); virtual ~BochsGraphicsAdapter() = default; private: ErrorOr initialize_adapter(PCI::DeviceIdentifier const&); explicit BochsGraphicsAdapter(PCI::DeviceIdentifier const&); RefPtr m_display_connector; }; }