SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
VersionCommand.hxx
См. документацию.
1
13#pragma once
14
15#include "ICommand.hxx"
17
18#include <memory>
19#include <vector>
20#include <string>
21
33 * включая AddCommand, CommitCommand, StatusCommand и другие.
34 */
35namespace svcs::cli {
36
37using namespace svcs::services;
38
50class VersionCommand : public ICommand {
51private:
59 std::shared_ptr<ISubject> eventBus_;
60
61public:
71 explicit VersionCommand(std::shared_ptr<ISubject> subject);
72
84 bool execute(const std::vector<std::string>& args) override;
85
95 [[nodiscard]] std::string getName() const override { return "version"; }
96
106 [[nodiscard]] std::string getDescription() const override;
107
117 [[nodiscard]] std::string getUsage() const override;
118
126 void showHelp() const override;
127
128private:
138 [[nodiscard]] static std::string getVersionString();
139
149 [[nodiscard]] static std::string getBuildInfo();
150
160 [[nodiscard]] static std::string getCopyright();
161};
162
163}
Объявление интерфейса ICommand для всех исполняемых CLI команд.
Определяет интерфейс для компонента Subject (Издатель) шаблона Observer.
Интерфейс (абстрактный базовый класс) для всех команд, выполняемых через CLI.
Определения ICommand.hxx:31
bool execute(const std::vector< std::string > &args) override
Выполняет команду version.
Определения VersionCommand.cxx:23
void showHelp() const override
Показывает подробную справочную информацию для этой команды.
Определения VersionCommand.cxx:46
std::string getName() const override
Получает имя команды.
Определения VersionCommand.hxx:58
std::string getDescription() const override
Получает описание команды.
Определения VersionCommand.cxx:38
VersionCommand(std::shared_ptr< ISubject > subject)
Конструирует VersionCommand.
Определения VersionCommand.cxx:19
std::string getUsage() const override
Получает синтаксис использования команды.
Определения VersionCommand.cxx:42
Компоненты командной строки и реализации команд.
Компоненты сервисного слоя и инфраструктурные сервисы.