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

66 lines
1.7 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
Audacity(R) is copyright (c) 1999-2009 Audacity Team.
File License: wxwidgets
OpenSaveCommands.h
Stephen Parry
******************************************************************//**
\class OpenProjectCommand
\brief Command for opening an Audacity project
\class SaveProjectCommand
\brief Command for saving an Audacity project
*//*******************************************************************/
#include "Command.h"
#include "CommandType.h"
// Open
class OpenProjectCommandType final : public CommandType
{
public:
wxString BuildName() override;
void BuildSignature(CommandSignature &signature) override;
CommandHolder Create(std::unique_ptr<CommandOutputTarget> &&target) override;
};
class OpenProjectCommand final : public CommandImplementation
{
public:
OpenProjectCommand(CommandType &type,
std::unique_ptr<CommandOutputTarget> &&target)
: CommandImplementation(type, std::move(target))
{ }
virtual ~OpenProjectCommand();
bool Apply(CommandExecutionContext context) override;
};
// Save
class SaveProjectCommandType final : public CommandType
{
public:
wxString BuildName() override;
void BuildSignature(CommandSignature &signature) override;
CommandHolder Create(std::unique_ptr<CommandOutputTarget> &&target) override;
};
class SaveProjectCommand final : public CommandImplementation
{
public:
SaveProjectCommand(CommandType &type,
std::unique_ptr<CommandOutputTarget> &&target)
: CommandImplementation(type, std::move(target))
{ }
virtual ~SaveProjectCommand();
bool Apply(CommandExecutionContext context) override;
};