Skip to content
Snippets Groups Projects
Commit 6b5f5653 authored by Lioncash's avatar Lioncash
Browse files

controller: Pass ControllerParameters by reference in ReconfigureControllers()

Prevents unnecessary copies and heap reallocations from occurring.
parent 98f4c5e7
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ DefaultControllerApplet::DefaultControllerApplet(Service::SM::ServiceManager& se
DefaultControllerApplet::~DefaultControllerApplet() = default;
void DefaultControllerApplet::ReconfigureControllers(std::function<void()> callback,
ControllerParameters parameters) const {
const ControllerParameters& parameters) const {
LOG_INFO(Service_HID, "called, deducing the best configuration based on the given parameters!");
auto& npad =
......
......@@ -38,7 +38,7 @@ public:
virtual ~ControllerApplet();
virtual void ReconfigureControllers(std::function<void()> callback,
ControllerParameters parameters) const = 0;
const ControllerParameters& parameters) const = 0;
};
class DefaultControllerApplet final : public ControllerApplet {
......@@ -47,7 +47,7 @@ public:
~DefaultControllerApplet() override;
void ReconfigureControllers(std::function<void()> callback,
ControllerParameters parameters) const override;
const ControllerParameters& parameters) const override;
private:
Service::SM::ServiceManager& service_manager;
......
......@@ -589,7 +589,7 @@ QtControllerSelector::QtControllerSelector(GMainWindow& parent) {
QtControllerSelector::~QtControllerSelector() = default;
void QtControllerSelector::ReconfigureControllers(
std::function<void()> callback, Core::Frontend::ControllerParameters parameters) const {
std::function<void()> callback, const Core::Frontend::ControllerParameters& parameters) const {
this->callback = std::move(callback);
emit MainWindowReconfigureControllers(parameters);
}
......
......@@ -120,11 +120,13 @@ public:
explicit QtControllerSelector(GMainWindow& parent);
~QtControllerSelector() override;
void ReconfigureControllers(std::function<void()> callback,
Core::Frontend::ControllerParameters parameters) const override;
void ReconfigureControllers(
std::function<void()> callback,
const Core::Frontend::ControllerParameters& parameters) const override;
signals:
void MainWindowReconfigureControllers(Core::Frontend::ControllerParameters parameters) const;
void MainWindowReconfigureControllers(
const Core::Frontend::ControllerParameters& parameters) const;
private:
void MainWindowReconfigureFinished();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment