Сервис, предоставляющий справочную информацию для команд.
Подробнее...
#include <HelpService.hxx>
|
| | HelpService (std::shared_ptr< ISubject > bus, std::function< std::vector< std::string >()> getCommands, std::function< std::string(const std::string &)> getDescription, std::function< void(const std::string &)> showHelp, std::function< std::string(const std::string &)> getUsage=nullptr) |
| | Конструирует HelpService путем внедрения необходимых зависимостей в виде обратных вызовов.
|
| std::vector< std::string > | getAvailableCommands () const |
| | Выполняет getCommandsCallback_ для получения списка всех доступных имен команд.
|
| std::string | getCommandDescription (const std::string &commandName) const |
| | Выполняет getDescriptionCallback_ для получения краткого описания конкретной команды.
|
| void | showCommandHelp (const std::string &commandName) const |
| | Выполняет showHelpCallback_ для запуска отображения подробной справки для конкретной команды.
|
| bool | commandExists (const std::string &commandName) const |
| | Проверяет существование команды путем сравнения со списком, возвращенным getAvailableCommands.
|
| std::string | getCommandUsage (const std::string &commandName) const |
| | Выполняет getUsageCallback_ для получения синтаксиса использования конкретной команды.
|
Сервис, предоставляющий справочную информацию для команд.
Этот сервис реализует логику приложения для отображения справки. Он использует набор функций обратного вызова (std::function) для получения данных команд (имена, описания, использование) и отображения конкретной справки. Этот выбор дизайна предотвращает прямую зависимость от CommandFactory, тем самым разрывая потенциальную циклическую зависимость.
◆ HelpService()
| svcs::cli::HelpService::HelpService |
( |
std::shared_ptr< ISubject > | bus, |
|
|
std::function< std::vector< std::string >()> | getCommands, |
|
|
std::function< std::string(const std::string &)> | getDescription, |
|
|
std::function< void(const std::string &)> | showHelp, |
|
|
std::function< std::string(const std::string &)> | getUsage = nullptr ) |
Конструирует HelpService путем внедрения необходимых зависимостей в виде обратных вызовов.
- Аргументы
-
| bus | Общий указатель на шину событий для уведомлений. |
| getCommands | Функция (обратный вызов), которая возвращает список доступных имен команд. |
| getDescription | Функция (обратный вызов), которая возвращает краткое описание команды. |
| showHelp | Функция (обратный вызов), которая запускает полное отображение справки для команды. |
| getUsage | Функция (обратный вызов), которая возвращает синтаксис использования команды (по умолчанию nullptr, если не требуется строго). |
◆ commandExists()
| bool svcs::cli::HelpService::commandExists |
( |
const std::string & | commandName | ) |
const |
|
nodiscard |
Проверяет существование команды путем сравнения со списком, возвращенным getAvailableCommands.
- Аргументы
-
| commandName | Имя команды для проверки. |
- Возвращает
true если команда зарегистрирована, false в противном случае.
◆ getAvailableCommands()
| std::vector< std::string > svcs::cli::HelpService::getAvailableCommands |
( |
| ) |
const |
|
nodiscard |
Выполняет getCommandsCallback_ для получения списка всех доступных имен команд.
- Возвращает
- Вектор строк, содержащий имена всех зарегистрированных команд.
◆ getCommandDescription()
| std::string svcs::cli::HelpService::getCommandDescription |
( |
const std::string & | commandName | ) |
const |
|
nodiscard |
Выполняет getDescriptionCallback_ для получения краткого описания конкретной команды.
- Аргументы
-
- Возвращает
- Описание команды или "Неизвестная команда", если имя команды недействительно или обратный вызов не сработал.
◆ getCommandUsage()
| std::string svcs::cli::HelpService::getCommandUsage |
( |
const std::string & | commandName | ) |
const |
|
nodiscard |
Выполняет getUsageCallback_ для получения синтаксиса использования конкретной команды.
- Аргументы
-
- Возвращает
- Строка использования команды или пустая строка, если команда не найдена или обратный вызов не установлен.
◆ showCommandHelp()
| void svcs::cli::HelpService::showCommandHelp |
( |
const std::string & | commandName | ) |
const |
Выполняет showHelpCallback_ для запуска отображения подробной справки для конкретной команды.
- Аргументы
-
| commandName | Имя команды, для которой показывается справка. |
Объявления и описания членов классов находятся в файлах: