SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
Класс svcs::cli::HelpService

Сервис, предоставляющий справочную информацию для команд. Подробнее...

#include <HelpService.hxx>

Граф наследования:svcs::cli::HelpService:
svcs::test::cli::mocks::MockHelpServiceAdapter

Открытые члены

 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_ для получения краткого описания конкретной команды.

Аргументы
commandNameИмя команды.
Возвращает
Описание команды или "Неизвестная команда", если имя команды недействительно или обратный вызов не сработал.

◆ getCommandUsage()

std::string svcs::cli::HelpService::getCommandUsage ( const std::string & commandName) const
nodiscard

Выполняет getUsageCallback_ для получения синтаксиса использования конкретной команды.

Аргументы
commandNameИмя команды.
Возвращает
Строка использования команды или пустая строка, если команда не найдена или обратный вызов не установлен.

◆ showCommandHelp()

void svcs::cli::HelpService::showCommandHelp ( const std::string & commandName) const

Выполняет showHelpCallback_ для запуска отображения подробной справки для конкретной команды.

Аргументы
commandNameИмя команды, для которой показывается справка.

Объявления и описания членов классов находятся в файлах: