1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-26 17:38:10 +02:00
audacity/src/commands/CommandBuilder.h

58 lines
1.5 KiB
C++

/**********************************************************************
Audacity - A Digital Audio Editor
Copyright 1999-2009 Audacity Team
File License: wxWidgets
Dan Horgan
******************************************************************//**
\file CommandBuilder.h
\brief Contains declaration of CommandBuilder class.
*//*******************************************************************/
#ifndef __COMMANDBUILDER__
#define __COMMANDBUILDER__
class Command;
class wxString;
// CommandBuilder has the task of validating and interpreting a command string.
// If the string represents a valid command, it builds the command object.
class CommandBuilder
{
private:
bool mValid;
Command *mCommand;
wxString mError;
void Failure(const wxString &msg = wxEmptyString);
void Success(Command *cmd);
void BuildCommand(const wxString &cmdName, wxString cmdParams);
void BuildCommand(wxString cmdString);
public:
CommandBuilder(const wxString &cmdString);
CommandBuilder(const wxString &cmdName,
const wxString &cmdParams);
~CommandBuilder();
bool WasValid();
Command *GetCommand();
void Cleanup();
const wxString &GetErrorMessage();
};
#endif /* End of include guard: __COMMANDBUILDER__ */
// Indentation settings for Vim and Emacs and unique identifier for Arch, a
// version control system. Please do not modify past this point.
//
// Local Variables:
// c-basic-offset: 3
// indent-tabs-mode: nil
// End:
//
// vim: et sts=3 sw=3
// arch-tag: TBD