84 std::shared_ptr<RepositoryManager> repo_manager);
106 [[nodiscard]]
virtual std::string
getName()
const override = 0;
119 [[nodiscard]]
virtual std::string
getDescription()
const override = 0;
132 [[nodiscard]]
virtual std::string
getUsage()
const override = 0;
147 virtual bool execute(
const std::vector<std::string>& args)
override = 0;
158 virtual void showHelp()
const override = 0;
172 void notifyInfo(
const std::string& message)
const;
185 void notifyError(
const std::string& message)
const;
Определяет структуру события, используемую для уведомлений по шаблону Observer.
Объявление интерфейса ICommand для всех исполняемых CLI команд.
Определяет интерфейс для компонента Subject (Издатель) шаблона Observer.
Declaration of the RepositoryManager class, managing all repository-level file operations.
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
virtual std::string getDescription() const override=0
Чисто виртуальный метод для получения описания команды.
virtual ~ServerBaseCommand()=default
Виртуальный деструктор для корректной очистки производных классов.
virtual std::string getName() const override=0
Чисто виртуальный метод для получения имени команды.
std::shared_ptr< ISubject > event_bus_
Общий указатель на шину событий для системных уведомлений.
Определения ServerBaseCommand.hxx:113
virtual std::string getUsage() const override=0
Чисто виртуальный метод для получения синтаксиса использования команды.
void notifyInfo(const std::string &message) const
Отправляет информационное уведомление через шину событий.
Определения ServerBaseCommand.cxx:23
virtual void showHelp() const override=0
Чисто виртуальный метод для отображения подробной справочной информации.
ServerBaseCommand(std::shared_ptr< ISubject > event_bus, std::shared_ptr< RepositoryManager > repo_manager)
Конструирует ServerBaseCommand с необходимыми зависимостями.
Определения ServerBaseCommand.cxx:16
virtual bool execute(const std::vector< std::string > &args) override=0
Чисто виртуальный метод для выполнения логики команды.
std::shared_ptr< RepositoryManager > repo_manager_
Общий указатель на менеджер репозиториев для операций с репозиториями.
Определения ServerBaseCommand.hxx:118
void notifyError(const std::string &message) const
Отправляет уведомление об ошибке через шину событий.
Определения ServerBaseCommand.cxx:30
Компоненты командной строки и реализации команд.
Основные структуры данных СКВ и модель объектов.
Компоненты командной строки для администрирования сервера.
Компоненты сервисного слоя и инфраструктурные сервисы.