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:
Léo Lam 2016-06-25 21:46:39 +02:00
parent afa202738e
commit 8678133e87
18 changed files with 80 additions and 60 deletions

View file

@ -6,7 +6,6 @@
#include <algorithm>
#include <map>
#include <mutex>
#include <sstream>
#include <string>
#include <vector>
@ -122,7 +121,7 @@ public:
void Initialize(void* const hwnd);
void Reinitialize();
void Shutdown();
void AddDevice(ciface::Core::Device* device);
void AddDevice(std::shared_ptr<ciface::Core::Device> device);
bool IsInit() const { return m_is_init; }
void UpdateReference(ControlReference* control,
const ciface::Core::DeviceQualifier& default_device) const;