Control: Convert raw pointer parameter into unique_ptr

Raw pointers shouldn't be used as boundaries in scenarios where ownership
is being taken.
This commit is contained in:
Lioncash 2017-02-10 19:31:21 -05:00
parent f6d364e37b
commit d07d9f3110
4 changed files with 9 additions and 4 deletions

View File

@ -3,11 +3,14 @@
// Refer to the license.txt file included.
#include "InputCommon/ControllerEmu/Control/Control.h"
#include <utility>
#include "InputCommon/ControlReference/ControlReference.h"
namespace ControllerEmu
{
Control::Control(ControlReference* ref, const std::string& name_) : control_ref(ref), name(name_)
Control::Control(std::unique_ptr<ControlReference> ref, const std::string& name_)
: control_ref(std::move(ref)), name(name_)
{
}

View File

@ -20,6 +20,6 @@ public:
const std::string name;
protected:
Control(ControlReference* ref, const std::string& name);
Control(std::unique_ptr<ControlReference> ref, const std::string& name);
};
} // namespace ControllerEmu

View File

@ -4,12 +4,13 @@
#include "InputCommon/ControllerEmu/Control/Input.h"
#include <memory>
#include <string>
#include "InputCommon/ControlReference/ControlReference.h"
namespace ControllerEmu
{
Input::Input(const std::string& name_) : Control(new InputReference, name_)
Input::Input(const std::string& name_) : Control(std::make_unique<InputReference>(), name_)
{
}
} // namespace ControllerEmu

View File

@ -4,12 +4,13 @@
#include "InputCommon/ControllerEmu/Control/Output.h"
#include <memory>
#include <string>
#include "InputCommon/ControlReference/ControlReference.h"
namespace ControllerEmu
{
Output::Output(const std::string& name_) : Control(new OutputReference, name_)
Output::Output(const std::string& name_) : Control(std::make_unique<OutputReference>(), name_)
{
}
} // namespace ControllerEmu