Remove some naked new amd delete in: overrides of CommandType::BuildSignature
This commit is contained in:
parent
473e955da3
commit
c3e53ea26e
|
@ -22,12 +22,12 @@ wxString BatchEvalCommandType::BuildName()
|
|||
|
||||
void BatchEvalCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *commandNameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), commandNameValidator);
|
||||
Validator *paramValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("ParamString"), wxT(""), paramValidator);
|
||||
Validator *chainValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("ChainName"), wxT(""), chainValidator);
|
||||
auto commandNameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), std::move(commandNameValidator));
|
||||
auto paramValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("ParamString"), wxT(""), std::move(paramValidator));
|
||||
auto chainValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("ChainName"), wxT(""), std::move(chainValidator));
|
||||
}
|
||||
|
||||
CommandHolder BatchEvalCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -26,7 +26,8 @@ class CommandType;
|
|||
typedef std::map<wxString, wxVariant> ParamValueMap;
|
||||
|
||||
// Map from parameter name to a suitable Validator
|
||||
typedef std::map<wxString, Validator *> ValidatorMap;
|
||||
// to do: use hash
|
||||
typedef std::map<wxString, movable_ptr<Validator>> ValidatorMap;
|
||||
|
||||
// Map from command name to type
|
||||
typedef std::map<wxString, CommandType*> CommandMap;
|
||||
|
|
|
@ -20,17 +20,11 @@
|
|||
|
||||
CommandSignature::~CommandSignature()
|
||||
{
|
||||
// Delete the validators
|
||||
ValidatorMap::iterator iter;
|
||||
for (iter = mValidators.begin(); iter != mValidators.end(); ++iter)
|
||||
{
|
||||
delete iter->second;
|
||||
}
|
||||
}
|
||||
|
||||
void CommandSignature::AddParameter(const wxString &name,
|
||||
const wxVariant &dft,
|
||||
Validator *valid)
|
||||
movable_ptr<Validator> &&valid)
|
||||
{
|
||||
wxASSERT_MSG(valid->Validate(dft),
|
||||
wxT("Invalid command signature: the default value of '")
|
||||
|
@ -42,7 +36,7 @@ void CommandSignature::AddParameter(const wxString &name,
|
|||
+ valid->GetDescription()
|
||||
+ wxT("."));
|
||||
mDefaults.insert(std::pair<wxString, wxVariant>(name, dft));
|
||||
mValidators.insert(std::pair<wxString, Validator*>(name, valid));
|
||||
mValidators.insert(ValidatorMap::value_type(name, std::move(valid)));
|
||||
}
|
||||
|
||||
ParamValueMap CommandSignature::GetDefaults() const
|
||||
|
|
|
@ -41,7 +41,7 @@ public:
|
|||
// valid: a suitable validator (caller doesn't need to DELETE it)
|
||||
void AddParameter(const wxString &name,
|
||||
const wxVariant &dft,
|
||||
Validator *valid);
|
||||
movable_ptr<Validator> &&valid);
|
||||
|
||||
// Methods for accessing the signature
|
||||
ParamValueMap GetDefaults() const;
|
||||
|
|
|
@ -29,8 +29,8 @@ wxString CompareAudioCommandType::BuildName()
|
|||
|
||||
void CompareAudioCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
DoubleValidator *thresholdValidator = new DoubleValidator();
|
||||
signature.AddParameter(wxT("Threshold"), 0.0, thresholdValidator);
|
||||
auto thresholdValidator = make_movable<DoubleValidator>();
|
||||
signature.AddParameter(wxT("Threshold"), 0.0, std::move(thresholdValidator));
|
||||
}
|
||||
|
||||
CommandHolder CompareAudioCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -24,8 +24,8 @@ wxString ExecMenuCommandType::BuildName()
|
|||
|
||||
void ExecMenuCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *menuCommandValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), menuCommandValidator);
|
||||
auto menuCommandValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), std::move(menuCommandValidator));
|
||||
}
|
||||
|
||||
CommandHolder ExecMenuCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -24,8 +24,8 @@ wxString GetAllMenuCommandsType::BuildName()
|
|||
|
||||
void GetAllMenuCommandsType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
BoolValidator *showStatusValidator = new BoolValidator();
|
||||
signature.AddParameter(wxT("ShowStatus"), 0, showStatusValidator);
|
||||
auto showStatusValidator = make_movable<BoolValidator>();
|
||||
signature.AddParameter(wxT("ShowStatus"), 0, std::move(showStatusValidator));
|
||||
}
|
||||
|
||||
CommandHolder GetAllMenuCommandsType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -28,7 +28,7 @@ wxString GetProjectInfoCommandType::BuildName()
|
|||
|
||||
void GetProjectInfoCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
OptionValidator *infoTypeValidator = new OptionValidator();
|
||||
auto infoTypeValidator = make_movable<OptionValidator>();
|
||||
infoTypeValidator->AddOption(wxT("Name"));
|
||||
infoTypeValidator->AddOption(wxT("NumberOfTracks"));
|
||||
infoTypeValidator->AddOption(wxT("SelectedTracks"));
|
||||
|
@ -36,7 +36,7 @@ void GetProjectInfoCommandType::BuildSignature(CommandSignature &signature)
|
|||
infoTypeValidator->AddOption(wxT("SoloTracks"));
|
||||
infoTypeValidator->AddOption(wxT("FocusedTrackID")); // returns the Track ID number of the track in focus
|
||||
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), infoTypeValidator);
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), std::move(infoTypeValidator));
|
||||
}
|
||||
|
||||
CommandHolder GetProjectInfoCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -28,10 +28,10 @@ wxString GetTrackInfoCommandType::BuildName()
|
|||
|
||||
void GetTrackInfoCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
IntValidator *trackIndexValidator = new IntValidator();
|
||||
signature.AddParameter(wxT("TrackIndex"), 0, trackIndexValidator);
|
||||
auto trackIndexValidator = make_movable<IntValidator>();
|
||||
signature.AddParameter(wxT("TrackIndex"), 0, std::move(trackIndexValidator));
|
||||
|
||||
OptionValidator *infoTypeValidator = new OptionValidator();
|
||||
auto infoTypeValidator = make_movable<OptionValidator>();
|
||||
infoTypeValidator->AddOption(wxT("Name"));
|
||||
infoTypeValidator->AddOption(wxT("StartTime"));
|
||||
infoTypeValidator->AddOption(wxT("EndTime"));
|
||||
|
@ -43,7 +43,7 @@ void GetTrackInfoCommandType::BuildSignature(CommandSignature &signature)
|
|||
infoTypeValidator->AddOption(wxT("Mute"));
|
||||
infoTypeValidator->AddOption(wxT("Focused"));
|
||||
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), infoTypeValidator);
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), std::move(infoTypeValidator));
|
||||
}
|
||||
|
||||
CommandHolder GetTrackInfoCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -25,8 +25,8 @@ wxString HelpCommandType::BuildName()
|
|||
|
||||
void HelpCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *commandNameValidator = new DefaultValidator();
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), commandNameValidator);
|
||||
auto commandNameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("CommandName"), wxT(""), std::move(commandNameValidator));
|
||||
}
|
||||
|
||||
CommandHolder HelpCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -27,8 +27,8 @@ wxString ImportCommandType::BuildName()
|
|||
|
||||
void ImportCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *filenameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), filenameValidator);
|
||||
auto filenameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), std::move(filenameValidator));
|
||||
}
|
||||
|
||||
CommandHolder ImportCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
@ -54,16 +54,16 @@ wxString ExportCommandType::BuildName()
|
|||
|
||||
void ExportCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
OptionValidator *modeValidator(new OptionValidator());
|
||||
auto modeValidator = make_movable<OptionValidator>();
|
||||
modeValidator->AddOption(wxT("All"));
|
||||
modeValidator->AddOption(wxT("Selection"));
|
||||
signature.AddParameter(wxT("Mode"), wxT("All"), modeValidator);
|
||||
signature.AddParameter(wxT("Mode"), wxT("All"), std::move(modeValidator));
|
||||
|
||||
Validator *filenameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("Filename"), wxT("exported.wav"), filenameValidator);
|
||||
auto filenameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("Filename"), wxT("exported.wav"), std::move(filenameValidator));
|
||||
|
||||
IntValidator *channelsValidator(new IntValidator());
|
||||
signature.AddParameter(wxT("Channels"), 1, channelsValidator);
|
||||
auto channelsValidator = make_movable<IntValidator>();
|
||||
signature.AddParameter(wxT("Channels"), 1, std::move(channelsValidator));
|
||||
}
|
||||
|
||||
CommandHolder ExportCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -23,8 +23,8 @@ wxString MessageCommandType::BuildName()
|
|||
|
||||
void MessageCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *stringValidator = new DefaultValidator();
|
||||
signature.AddParameter(wxT("MessageString"), wxT(""), stringValidator);
|
||||
auto stringValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("MessageString"), wxT(""), std::move(stringValidator));
|
||||
}
|
||||
|
||||
CommandHolder MessageCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -26,10 +26,10 @@ wxString OpenProjectCommandType::BuildName()
|
|||
|
||||
void OpenProjectCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
BoolValidator *addToHistoryValidator(new BoolValidator());
|
||||
signature.AddParameter(wxT("AddToHistory"), true, addToHistoryValidator);
|
||||
Validator *filenameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), filenameValidator);
|
||||
auto addToHistoryValidator = make_movable<BoolValidator>();
|
||||
signature.AddParameter(wxT("AddToHistory"), true, std::move(addToHistoryValidator));
|
||||
auto filenameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), std::move(filenameValidator));
|
||||
}
|
||||
|
||||
CommandHolder OpenProjectCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
@ -70,14 +70,14 @@ wxString SaveProjectCommandType::BuildName()
|
|||
|
||||
void SaveProjectCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
BoolValidator *saveCompressedValidator(new BoolValidator());
|
||||
BoolValidator *addToHistoryValidator(new BoolValidator());
|
||||
auto saveCompressedValidator = make_movable<BoolValidator>();
|
||||
auto addToHistoryValidator = make_movable<BoolValidator>();
|
||||
|
||||
signature.AddParameter(wxT("Compress"), false, saveCompressedValidator);
|
||||
signature.AddParameter(wxT("AddToHistory"), true, addToHistoryValidator);
|
||||
signature.AddParameter(wxT("Compress"), false, std::move(saveCompressedValidator));
|
||||
signature.AddParameter(wxT("AddToHistory"), true, std::move(addToHistoryValidator));
|
||||
|
||||
Validator *filenameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), filenameValidator);
|
||||
auto filenameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("Filename"), wxT(""), std::move(filenameValidator));
|
||||
}
|
||||
|
||||
CommandHolder SaveProjectCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -26,8 +26,8 @@ wxString GetPreferenceCommandType::BuildName()
|
|||
|
||||
void GetPreferenceCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *prefNameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("PrefName"), wxT(""), prefNameValidator);
|
||||
auto prefNameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("PrefName"), wxT(""), std::move(prefNameValidator));
|
||||
}
|
||||
|
||||
CommandHolder GetPreferenceCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
@ -59,10 +59,10 @@ wxString SetPreferenceCommandType::BuildName()
|
|||
|
||||
void SetPreferenceCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
Validator *prefNameValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("PrefName"), wxT(""), prefNameValidator);
|
||||
Validator *prefValueValidator(new DefaultValidator());
|
||||
signature.AddParameter(wxT("PrefValue"), wxT(""), prefValueValidator);
|
||||
auto prefNameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("PrefName"), wxT(""), std::move(prefNameValidator));
|
||||
auto prefValueValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("PrefValue"), wxT(""), std::move(prefValueValidator));
|
||||
}
|
||||
|
||||
CommandHolder SetPreferenceCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -274,7 +274,7 @@ wxString ScreenshotCommandType::BuildName()
|
|||
|
||||
void ScreenshotCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
OptionValidator *captureModeValidator = new OptionValidator();
|
||||
auto captureModeValidator = make_movable<OptionValidator>();
|
||||
captureModeValidator->AddOption(wxT("window"));
|
||||
captureModeValidator->AddOption(wxT("fullwindow"));
|
||||
captureModeValidator->AddOption(wxT("windowplus"));
|
||||
|
@ -294,20 +294,20 @@ void ScreenshotCommandType::BuildSignature(CommandSignature &signature)
|
|||
captureModeValidator->AddOption(wxT("firsttrack"));
|
||||
captureModeValidator->AddOption(wxT("secondtrack"));
|
||||
|
||||
OptionValidator *backgroundValidator = new OptionValidator();
|
||||
auto backgroundValidator = make_movable<OptionValidator>();
|
||||
backgroundValidator->AddOption(wxT("Blue"));
|
||||
backgroundValidator->AddOption(wxT("White"));
|
||||
backgroundValidator->AddOption(wxT("None"));
|
||||
|
||||
Validator *filePathValidator = new DefaultValidator();
|
||||
auto filePathValidator = make_movable<DefaultValidator>();
|
||||
|
||||
signature.AddParameter(wxT("CaptureMode"),
|
||||
wxT("fullscreen"),
|
||||
captureModeValidator);
|
||||
std::move(captureModeValidator));
|
||||
signature.AddParameter(wxT("Background"),
|
||||
wxT("None"),
|
||||
backgroundValidator);
|
||||
signature.AddParameter(wxT("FilePath"), wxT(""), filePathValidator);
|
||||
std::move(backgroundValidator));
|
||||
signature.AddParameter(wxT("FilePath"), wxT(""), std::move(filePathValidator));
|
||||
}
|
||||
|
||||
CommandHolder ScreenshotCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -29,25 +29,25 @@ wxString SelectCommandType::BuildName()
|
|||
|
||||
void SelectCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
OptionValidator *modeValidator = new OptionValidator();
|
||||
auto modeValidator = make_movable<OptionValidator>();
|
||||
modeValidator->AddOption(wxT("None"));
|
||||
modeValidator->AddOption(wxT("All"));
|
||||
modeValidator->AddOption(wxT("Range"));
|
||||
modeValidator->AddOption(wxT("Name"));
|
||||
signature.AddParameter(wxT("Mode"), wxT("All"), modeValidator);
|
||||
signature.AddParameter(wxT("Mode"), wxT("All"), std::move(modeValidator));
|
||||
|
||||
DoubleValidator *startTimeValidator = new DoubleValidator();
|
||||
signature.AddParameter(wxT("StartTime"), 0.0, startTimeValidator);
|
||||
DoubleValidator *endTimeValidator = new DoubleValidator();
|
||||
signature.AddParameter(wxT("EndTime"), 0.0, endTimeValidator);
|
||||
IntValidator *firstTrackValidator = new IntValidator();
|
||||
auto startTimeValidator = make_movable<DoubleValidator>();
|
||||
signature.AddParameter(wxT("StartTime"), 0.0, std::move(startTimeValidator));
|
||||
auto endTimeValidator = make_movable<DoubleValidator>();
|
||||
signature.AddParameter(wxT("EndTime"), 0.0, std::move(endTimeValidator));
|
||||
|
||||
signature.AddParameter(wxT("FirstTrack"), 0, firstTrackValidator);
|
||||
IntValidator *lastTrackValidator = new IntValidator();
|
||||
signature.AddParameter(wxT("LastTrack"), 0, lastTrackValidator);
|
||||
auto firstTrackValidator = make_movable<IntValidator>();
|
||||
signature.AddParameter(wxT("FirstTrack"), 0, std::move(firstTrackValidator));
|
||||
auto lastTrackValidator = make_movable<IntValidator>();
|
||||
signature.AddParameter(wxT("LastTrack"), 0, std::move(lastTrackValidator));
|
||||
|
||||
Validator *trackNameValidator = new DefaultValidator();
|
||||
signature.AddParameter(wxT("TrackName"), 0, trackNameValidator);
|
||||
auto trackNameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("TrackName"), 0, std::move(trackNameValidator));
|
||||
}
|
||||
|
||||
CommandHolder SelectCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -30,15 +30,15 @@ wxString SetProjectInfoCommandType::BuildName()
|
|||
|
||||
void SetProjectInfoCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
OptionValidator *infoTypeValidator = new OptionValidator();
|
||||
auto infoTypeValidator = make_movable<OptionValidator>();
|
||||
infoTypeValidator->AddOption(wxT("SelectedTracks"));
|
||||
infoTypeValidator->AddOption(wxT("MuteTracks"));
|
||||
infoTypeValidator->AddOption(wxT("SoloTracks"));
|
||||
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), infoTypeValidator);
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), std::move(infoTypeValidator));
|
||||
|
||||
BoolArrayValidator *TracksSetValidator = new BoolArrayValidator();
|
||||
signature.AddParameter(wxT(kSetOfTracksStr), wxT("x"), TracksSetValidator);
|
||||
auto TracksSetValidator = make_movable<BoolArrayValidator>();
|
||||
signature.AddParameter(wxT(kSetOfTracksStr), wxT("x"), std::move(TracksSetValidator));
|
||||
}
|
||||
|
||||
CommandHolder SetProjectInfoCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
|
@ -27,14 +27,14 @@ wxString SetTrackInfoCommandType::BuildName()
|
|||
|
||||
void SetTrackInfoCommandType::BuildSignature(CommandSignature &signature)
|
||||
{
|
||||
IntValidator *trackIndexValidator = new IntValidator();
|
||||
signature.AddParameter(wxT("TrackIndex"), 0, trackIndexValidator);
|
||||
auto trackIndexValidator = make_movable<IntValidator>();
|
||||
signature.AddParameter(wxT("TrackIndex"), 0, std::move(trackIndexValidator));
|
||||
|
||||
OptionValidator *infoTypeValidator = new OptionValidator();
|
||||
auto infoTypeValidator = make_movable<OptionValidator>();
|
||||
infoTypeValidator->AddOption(wxT("Name"));
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), infoTypeValidator);
|
||||
Validator *nameValidator = new DefaultValidator();
|
||||
signature.AddParameter(wxT("Name"), wxT("Unnamed"), nameValidator);
|
||||
signature.AddParameter(wxT("Type"), wxT("Name"), std::move(infoTypeValidator));
|
||||
auto nameValidator = make_movable<DefaultValidator>();
|
||||
signature.AddParameter(wxT("Name"), wxT("Unnamed"), std::move(nameValidator));
|
||||
}
|
||||
|
||||
CommandHolder SetTrackInfoCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||
|
|
Loading…
Reference in New Issue