From 30657f9ca1485dcf9611d3c4ea3c74d52b350dec Mon Sep 17 00:00:00 2001 From: Subv Date: Mon, 15 Jan 2018 17:39:00 -0500 Subject: NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call. --- src/core/hle/service/nvdrv/nvdrv_a.h | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'src/core/hle/service/nvdrv/nvdrv_a.h') diff --git a/src/core/hle/service/nvdrv/nvdrv_a.h b/src/core/hle/service/nvdrv/nvdrv_a.h index 62f10e9f6..743870555 100644 --- a/src/core/hle/service/nvdrv/nvdrv_a.h +++ b/src/core/hle/service/nvdrv/nvdrv_a.h @@ -10,42 +10,20 @@ #include "core/hle/service/service.h" namespace Service { -namespace NVDRV { - -namespace Devices { -class nvdevice; -} +namespace Nvidia { class NVDRV_A final : public ServiceFramework { public: - NVDRV_A(); + NVDRV_A(std::shared_ptr nvdrv); ~NVDRV_A() = default; - /// Returns a pointer to one of the available devices, identified by its name. - template - std::shared_ptr GetDevice(std::string name) { - auto itr = devices.find(name); - if (itr == devices.end()) - return nullptr; - return std::static_pointer_cast(itr->second); - } - private: void Open(Kernel::HLERequestContext& ctx); void Ioctl(Kernel::HLERequestContext& ctx); void Initialize(Kernel::HLERequestContext& ctx); - /// Id to use for the next open file descriptor. - u32 next_fd = 1; - - /// Mapping of file descriptors to the devices they reference. - std::unordered_map> open_files; - - /// Mapping of device node names to their implementation. - std::unordered_map> devices; + std::shared_ptr nvdrv; }; -extern std::weak_ptr nvdrv_a; - -} // namespace NVDRV +} // namespace Nvidia } // namespace Service -- cgit v1.2.3