SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
HelpCommand.hxx
См. документацию.
1
13#pragma once
14
15#include "ICommand.hxx"
18
19#include <memory>
20#include <vector>
21#include <string>
22
34 * включая AddCommand, CommitCommand, StatusCommand и другие.
35 */
36namespace svcs::cli {
37
53class HelpCommand : public ICommand {
54private:
62 std::shared_ptr<ISubject> eventBus_;
63
71 std::shared_ptr<HelpService> helpService_;
72
73public:
85 HelpCommand(std::shared_ptr<ISubject> subject,
86 std::shared_ptr<HelpService> helpService);
87
100
101 bool execute(const std::vector<std::string>& args) override;
102
112 [[nodiscard]] std::string getName() const override { return "help"; }
113
123 [[nodiscard]] std::string getDescription() const override;
124
134 [[nodiscard]] std::string getUsage() const override;
135
143 void showHelp() const override;
144
145private:
155 void showGeneralHelp() const;
156
168 void showCommandHelp(const std::string& commandName) const;
169};
170
171}
Сервис для предоставления справочной информации о командах.
Объявление интерфейса ICommand для всех исполняемых CLI команд.
Определяет интерфейс для компонента Subject (Издатель) шаблона Observer.
std::string getUsage() const override
Получает синтаксис использования команды.
Определения HelpCommand.cxx:38
std::string getDescription() const override
Получает краткое описание команды.
Определения HelpCommand.cxx:34
void showHelp() const override
Показывает подробную справочную информацию для этой конкретной команды через шину событий.
Определения HelpCommand.cxx:42
bool execute(const std::vector< std::string > &args) override
Выполняет логику команды help.
Определения HelpCommand.cxx:24
std::string getName() const override
Получает имя команды.
Определения HelpCommand.hxx:67
HelpCommand(std::shared_ptr< ISubject > subject, std::shared_ptr< HelpService > helpService)
Конструирует HelpCommand.
Определения HelpCommand.cxx:19
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
Компоненты командной строки и реализации команд.