SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
ICommand.hxx
См. документацию.
1
19#pragma once
20
21#include <string>
22#include <vector>
23
31 * @russian
32 * @namespace svcs::cli
33 * @brief Компоненты командной строки и реализации команд.
34 * @details Содержит все CLI команды, с которыми пользователи взаимодействуют напрямую,
35 * включая AddCommand, CommitCommand, StatusCommand и другие.
36 */
37namespace svcs::cli {
38
52class ICommand {
53public:
63 virtual ~ICommand() = default;
64
69
74 [[nodiscard]] virtual std::string getName() const = 0;
75
85 [[nodiscard]] virtual std::string getDescription() const = 0;
86
96 [[nodiscard]] virtual std::string getUsage() const = 0;
97
109 virtual bool execute(const std::vector<std::string>& args) = 0;
110
118 virtual void showHelp() const = 0;
119};
120
121}
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
virtual std::string getName() const =0
Получает уникальное имя команды (например, "init").
virtual std::string getDescription() const =0
Получает краткое описание того, что делает команда.
virtual bool execute(const std::vector< std::string > &args)=0
Выполняет основную логику команды.
virtual void showHelp() const =0
Отображает подробную справочную информацию о команде (использование и описание).
virtual ~ICommand()=default
Виртуальный деструктор.
virtual std::string getUsage() const =0
Получает синтаксис использования команды.
Компоненты командной строки и реализации команд.