ControllerInterface: HotplugCallbacks -> DevicesChangedCallbacks

This commit is contained in:
Michael M 2017-11-04 07:36:30 -07:00
parent 7355b5f70d
commit 1ed7532af8
6 changed files with 17 additions and 18 deletions

View File

@ -37,7 +37,7 @@ void Initialize()
s_config.CreateController<GCKeyboard>(i); s_config.CreateController<GCKeyboard>(i);
} }
g_controller_interface.RegisterHotplugCallback(LoadConfig); g_controller_interface.RegisterDevicesChangedCallback(LoadConfig);
// Load the saved controller config // Load the saved controller config
s_config.LoadConfig(true); s_config.LoadConfig(true);

View File

@ -34,7 +34,7 @@ void Initialize()
s_config.CreateController<GCPad>(i); s_config.CreateController<GCPad>(i);
} }
g_controller_interface.RegisterHotplugCallback(LoadConfig); g_controller_interface.RegisterDevicesChangedCallback(LoadConfig);
// Load the saved controller config // Load the saved controller config
s_config.LoadConfig(true); s_config.LoadConfig(true);

View File

@ -80,7 +80,7 @@ void Initialize(InitializeMode init_mode)
s_config.CreateController<WiimoteEmu::Wiimote>(i); s_config.CreateController<WiimoteEmu::Wiimote>(i);
} }
g_controller_interface.RegisterHotplugCallback(LoadConfig); g_controller_interface.RegisterDevicesChangedCallback(LoadConfig);
LoadConfig(); LoadConfig();

View File

@ -213,7 +213,7 @@ void Initialize()
if (s_config.ControllersNeedToBeCreated()) if (s_config.ControllersNeedToBeCreated())
s_config.CreateController<HotkeyManager>(); s_config.CreateController<HotkeyManager>();
g_controller_interface.RegisterHotplugCallback(LoadConfig); g_controller_interface.RegisterDevicesChangedCallback(LoadConfig);
// load the saved controller config // load the saved controller config
s_config.LoadConfig(true); s_config.LoadConfig(true);

View File

@ -188,7 +188,7 @@ void ControllerInterface::AddDevice(std::shared_ptr<ciface::Core::Device> device
NOTICE_LOG(SERIALINTERFACE, "Added device: %s", device->GetQualifiedName().c_str()); NOTICE_LOG(SERIALINTERFACE, "Added device: %s", device->GetQualifiedName().c_str());
m_devices.emplace_back(std::move(device)); m_devices.emplace_back(std::move(device));
} }
InvokeHotplugCallbacks(); InvokeDevicesChangedCallbacks();
} }
void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::Device*)> callback) void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::Device*)> callback)
@ -205,7 +205,7 @@ void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::De
}); });
m_devices.erase(it, m_devices.end()); m_devices.erase(it, m_devices.end());
} }
InvokeHotplugCallbacks(); InvokeDevicesChangedCallbacks();
} }
// //
@ -225,23 +225,23 @@ void ControllerInterface::UpdateInput()
} }
// //
// RegisterHotplugCallback // RegisterDevicesChangedCallback
// //
// Register a callback to be called from the input backends' hotplug thread // Register a callback to be called when a device is added or removed (as from the input backends'
// when there is a new device // hotplug thread), or when devices are refreshed
// //
void ControllerInterface::RegisterHotplugCallback(std::function<void()> callback) void ControllerInterface::RegisterDevicesChangedCallback(std::function<void()> callback)
{ {
m_hotplug_callbacks.emplace_back(std::move(callback)); m_devices_changed_callbacks.emplace_back(std::move(callback));
} }
// //
// InvokeHotplugCallbacks // InvokeDevicesChangedCallbacks
// //
// Invoke all callbacks that were registered // Invoke all callbacks that were registered
// //
void ControllerInterface::InvokeHotplugCallbacks() const void ControllerInterface::InvokeDevicesChangedCallbacks() const
{ {
for (const auto& callback : m_hotplug_callbacks) for (const auto& callback : m_devices_changed_callbacks)
callback(); callback();
} }

View File

@ -53,12 +53,11 @@ public:
bool IsInit() const { return m_is_init; } bool IsInit() const { return m_is_init; }
void UpdateInput(); void UpdateInput();
void RegisterHotplugCallback(std::function<void(void)> callback); void RegisterDevicesChangedCallback(std::function<void(void)> callback);
void InvokeDevicesChangedCallbacks() const;
private: private:
void InvokeHotplugCallbacks() const; std::vector<std::function<void()>> m_devices_changed_callbacks;
std::vector<std::function<void()>> m_hotplug_callbacks;
bool m_is_init; bool m_is_init;
void* m_hwnd; void* m_hwnd;
}; };