#ifndef EXTENSIONS_COMMON_COMMAND_H_
#define EXTENSIONS_COMMON_COMMAND_H_
#include <map>
#include <string>
#include <string_view>
#include "base/values.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/accelerators/command.h"
namespace extensions {
class Command : public ui::Command {
public:
Command() = default;
Command(std::string_view command_name,
std::u16string_view description,
std::string_view accelerator,
bool global);
Command(const Command& other) = default;
~Command() override = default;
static std::string CommandPlatform();
static ui::Accelerator StringToAccelerator(std::string_view accelerator,
std::string_view command_name);
static bool IsActionRelatedCommand(std::string_view command_name);
bool Parse(const base::Value::Dict& command,
std::string_view command_name,
int index,
std::u16string* error);
};
}
#endif