mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:48:12 +00:00

These were easy to pick-up as these pointers are assigned during the construction point and are never changed afterwards. This small change to these pointers will ensure that our code will not accidentally assign these pointers with a new object which is always a kind of bug we will want to prevent.
31 lines
926 B
C++
31 lines
926 B
C++
/*
|
|
* Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/NonnullRefPtr.h>
|
|
#include <Kernel/Bus/PCI/Definitions.h>
|
|
#include <Kernel/FileSystem/SysFS/Component.h>
|
|
#include <Kernel/KString.h>
|
|
|
|
namespace Kernel {
|
|
|
|
class PCIDeviceSysFSDirectory final : public SysFSDirectory {
|
|
public:
|
|
static NonnullLockRefPtr<PCIDeviceSysFSDirectory> create(SysFSDirectory const&, PCI::DeviceIdentifier const&);
|
|
PCI::DeviceIdentifier const& device_identifier() const { return *m_device_identifier; }
|
|
|
|
virtual StringView name() const override { return m_device_directory_name->view(); }
|
|
|
|
private:
|
|
PCIDeviceSysFSDirectory(NonnullOwnPtr<KString> device_directory_name, SysFSDirectory const&, PCI::DeviceIdentifier const&);
|
|
|
|
NonnullRefPtr<PCI::DeviceIdentifier const> const m_device_identifier;
|
|
|
|
NonnullOwnPtr<KString> m_device_directory_name;
|
|
};
|
|
|
|
}
|