SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
ClearCommand.hxx
См. документацию.
1
13#pragma once
14
15#include "ICommand.hxx"
18
19#include <memory>
20#include <string>
21#include <vector>
22
33 * @details Содержит все CLI команды, с которыми пользователи взаимодействуют напрямую,
34 * включая AddCommand, CommitCommand, StatusCommand и другие.
35 */
36namespace svcs::cli {
37
38using namespace svcs::core;
39
49class ClearCommand : public ICommand {
50private:
58 std::shared_ptr<ISubject> eventBus_;
59
67 std::shared_ptr<RepositoryManager> repoManager_;
68
69public:
81 ClearCommand(std::shared_ptr<ISubject> subject,
82 std::shared_ptr<RepositoryManager> repoManager);
83
95 bool execute(const std::vector<std::string>& args) override;
96
97
106 [[nodiscard]] std::string getName() const override { return "clear"; }
107
117 [[nodiscard]] std::string getDescription() const override;
118
128 [[nodiscard]] std::string getUsage() const override;
129
137 void showHelp() const override;
138
139private:
149 [[nodiscard]] static bool confirmClear();
150
160 [[nodiscard]] bool removeRepository() const;
161};
162
163}
Объявление интерфейса ICommand для всех исполняемых CLI команд.
Определяет интерфейс для компонента Subject (Издатель) шаблона Observer.
Declaration of the RepositoryManager class, managing all repository-level file operations.
std::string getName() const override
Получает имя команды.
Определения ClearCommand.hxx:65
std::string getDescription() const override
Получает описание команды.
Определения ClearCommand.cxx:98
void showHelp() const override
Показывает подробную справочную информацию для этой команды.
Определения ClearCommand.cxx:106
bool execute(const std::vector< std::string > &args) override
Выполняет команду clear.
Определения ClearCommand.cxx:25
ClearCommand(std::shared_ptr< ISubject > subject, std::shared_ptr< RepositoryManager > repoManager)
Конструирует ClearCommand.
Определения ClearCommand.cxx:20
std::string getUsage() const override
Получает синтаксис использования команды.
Определения ClearCommand.cxx:102
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
Компоненты командной строки и реализации команд.
Основные структуры данных СКВ и модель объектов.