SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
InitCommand.hxx
См. документацию.
1
13#pragma once
14
15#include "ICommand.hxx"
18
19#include <memory>
20#include <vector>
21#include <string>
22
36namespace svcs::cli {
37
38using namespace svcs::core;
39using namespace svcs::services;
40
60class InitCommand : public ICommand {
61private:
69 std::shared_ptr<ISubject> eventBus_;
70
78 std::shared_ptr<RepositoryManager> repoManager_;
79
80public:
92 InitCommand(std::shared_ptr<ISubject> subject,
93 std::shared_ptr<RepositoryManager> repoManager);
94
110 bool execute(const std::vector<std::string>& args) override;
111
121 [[nodiscard]] std::string getName() const override;
122
132 [[nodiscard]] std::string getDescription() const override;
133
143 [[nodiscard]] std::string getUsage() const override;
144
152 void showHelp() const override;
153};
154
155}
Объявление интерфейса ICommand для всех исполняемых CLI команд.
Определяет интерфейс для компонента Subject (Издатель) шаблона Observer.
Declaration of the RepositoryManager class, managing all repository-level file operations.
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
InitCommand(std::shared_ptr< ISubject > subject, std::shared_ptr< RepositoryManager > repoManager)
Конструирует InitCommand.
Определения InitCommand.cxx:19
void showHelp() const override
Отображает подробную справочную информацию о команде через шину событий.
Определения InitCommand.cxx:80
std::string getDescription() const override
Возвращает краткое описание назначения команды.
Определения InitCommand.cxx:72
std::string getName() const override
Возвращает имя команды.
Определения InitCommand.cxx:68
bool execute(const std::vector< std::string > &args) override
Выполняет логику инициализации репозитория.
Определения InitCommand.cxx:24
std::string getUsage() const override
Возвращает синтаксис использования для команды.
Определения InitCommand.cxx:76
Компоненты командной строки и реализации команд.
Компоненты сервисного слоя и инфраструктурные сервисы.