controller: Pass ControllerParameters by reference in ReconfigureControllers()
Prevents unnecessary copies and heap reallocations from occurring.
This commit is contained in:
parent
98f4c5e7b8
commit
6b5f565324
|
@ -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();
|
||||
|
|
Reference in New Issue