mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-13 00:58:29 +02:00
ControllerInterface: Switch to std::shared_ptr
Small cleanup by using std::shared_ptr and getting rid of ciface.Devices() which just returned the m_devices (which defeats the point of making m_devices protected). Incidentally, this should make the code safer when we have different threads accessing devices in the future (for hotplug?). A lot of code use Device references directly so there is no easy way to remove FindDevice() and make those unique_ptrs.
This commit is contained in:
@ -164,12 +164,13 @@ public:
|
||||
Device::Input* FindInput(const std::string& name, const Device* def_dev) const;
|
||||
Device::Output* FindOutput(const std::string& name, const Device* def_dev) const;
|
||||
|
||||
const std::vector<Device*>& Devices() const { return m_devices; }
|
||||
Device* FindDevice(const DeviceQualifier& devq) const;
|
||||
std::vector<std::string> GetAllDeviceStrings() const;
|
||||
std::string GetDefaultDeviceString() const;
|
||||
std::shared_ptr<Device> FindDevice(const DeviceQualifier& devq) const;
|
||||
|
||||
protected:
|
||||
std::mutex m_devices_mutex;
|
||||
std::vector<Device*> m_devices;
|
||||
mutable std::mutex m_devices_mutex;
|
||||
std::vector<std::shared_ptr<Device>> m_devices;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user