|
SVCS - Русская документация
|
Абстрактный базовый класс для всех команд администрирования сервера. Подробнее...
#include <ServerBaseCommand.hxx>
Открытые члены | |
| ServerBaseCommand (std::shared_ptr< ISubject > event_bus, std::shared_ptr< RepositoryManager > repo_manager) | |
| Конструирует ServerBaseCommand с необходимыми зависимостями. | |
| virtual | ~ServerBaseCommand ()=default |
| Виртуальный деструктор для корректной очистки производных классов. | |
| virtual std::string | getName () const override=0 |
| Чисто виртуальный метод для получения имени команды. | |
| virtual std::string | getDescription () const override=0 |
| Чисто виртуальный метод для получения описания команды. | |
| virtual std::string | getUsage () const override=0 |
| Чисто виртуальный метод для получения синтаксиса использования команды. | |
| virtual bool | execute (const std::vector< std::string > &args) override=0 |
| Чисто виртуальный метод для выполнения логики команды. | |
| virtual void | showHelp () const override=0 |
| Чисто виртуальный метод для отображения подробной справочной информации. | |
| Открытые члены унаследованные от svcs::cli::ICommand | |
| virtual | ~ICommand ()=default |
| Виртуальный деструктор. | |
Защищенные члены | |
| void | notifyInfo (const std::string &message) const |
| Отправляет информационное уведомление через шину событий. | |
| void | notifyError (const std::string &message) const |
| Отправляет уведомление об ошибке через шину событий. | |
Защищенные данные | |
| std::shared_ptr< ISubject > | event_bus_ |
| Общий указатель на шину событий для системных уведомлений. | |
| std::shared_ptr< RepositoryManager > | repo_manager_ |
| Общий указатель на менеджер репозиториев для операций с репозиториями. | |
Абстрактный базовый класс для всех команд администрирования сервера.
Наследуется от ICommand и предоставляет общую инфраструктуру для операций управления сервером, включая уведомления о событиях и управление репозиториями. Все серверные команды должны наследоваться от этого класса.
| svcs::server::cli::ServerBaseCommand::ServerBaseCommand | ( | std::shared_ptr< ISubject > | event_bus, |
| std::shared_ptr< RepositoryManager > | repo_manager ) |
Конструирует ServerBaseCommand с необходимыми зависимостями.
| event_bus | Общий указатель на шину событий для системных уведомлений. |
| repo_manager | Общий указатель на менеджер репозиториев для операций с репозиториями. |
|
overridepure virtual |
Чисто виртуальный метод для выполнения логики команды.
| args | Вектор строковых аргументов, переданных команде. |
Должен быть реализован производными классами для предоставления специфичной для команды логики.
Замещает svcs::cli::ICommand.
Замещается в svcs::server::cli::HubCommand и svcs::server::cli::RepoCommand.
|
nodiscardoverridepure virtual |
Чисто виртуальный метод для получения описания команды.
Должен быть реализован производными классами для описания функциональности команды.
Замещает svcs::cli::ICommand.
Замещается в svcs::server::cli::HubCommand и svcs::server::cli::RepoCommand.
|
nodiscardoverridepure virtual |
Чисто виртуальный метод для получения имени команды.
Должен быть реализован производными классами для предоставления уникального идентификатора команды.
Замещает svcs::cli::ICommand.
Замещается в svcs::server::cli::HubCommand и svcs::server::cli::RepoCommand.
|
nodiscardoverridepure virtual |
Чисто виртуальный метод для получения синтаксиса использования команды.
Должен быть реализован производными классами для отображения правильного использования команды.
Замещает svcs::cli::ICommand.
Замещается в svcs::server::cli::HubCommand и svcs::server::cli::RepoCommand.
|
protected |
Отправляет уведомление об ошибке через шину событий.
| message | Сообщение об ошибке для отправки. |
Вспомогательный метод для производных классов для отправки уведомлений об ошибках.
|
protected |
Отправляет информационное уведомление через шину событий.
| message | Информационное сообщение для отправки. |
Вспомогательный метод для производных классов для отправки информационных уведомлений.
|
overridepure virtual |
Чисто виртуальный метод для отображения подробной справочной информации.
Должен быть реализован производными классами для отображения специфичной для команды справки.
Замещает svcs::cli::ICommand.
Замещается в svcs::server::cli::HubCommand и svcs::server::cli::RepoCommand.