57 inline const string &
name()
const {
return m_strName;}
59 inline int ident()
const {
return m_iShortIdent;}
61 inline bool IsActive()
const {
return m_bActive;}
63 inline bool multiple()
const {
return m_bMultiple;}
65 inline bool mandatory()
const {
return m_bMandatory;}
73 void SetActive(
const string& arg);
75 string argument()
const;
77 unsigned int uargument()
const;
86 bool bMultiple =
false,
bool bMandatory =
false);
113 bool IsActive(
const string& opt);
119 void Remove(
const string& strName);
127 void ClearOptionsState();
129 inline size_t Size()
const {
return m_mapOptions.size();}
149 bool CheckArguments();
151 virtual int Execute() = 0;
154 inline const string &
section()
const {
return m_strSection;}
156 inline const string &
name()
const {
return m_strName;}
158 inline const string &
desc()
const {
return m_strDesc;}
160 string argument()
const;
168 virtual void ShowUsage()
const = 0;
178 void AddArgument(
const string& arg);
180 virtual void Clear();
182 virtual void FillRLArguments(
const string& option,
ald_string_list& list,
bool& isfile);
212 void Remove(
const string& strName);
234 #endif // ALD_COMMAND
Класс контейнера команд
Definition: ALDCommand.h:198
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
acArgumentNecessity
Тип необходимости аргумента
Definition: ALDCommand.h:26
Восьмеричное число
Definition: ALDCommand.h:37
bool m_bPrivileged
Признак привилегированной команды
Definition: ALDCommand.h:146
bool mandatory() const
Возвращает признак необходимости
Definition: ALDCommand.h:65
Абстрактный базовый класс команды
Definition: ALDCommand.h:136
size_t Size() const
Размер контейнера (количество опций)
Definition: ALDCommand.h:129
ald_string_list & Arguments()
Возвращает список аргументов
Definition: ALDCommand.h:79
bool OptionIsActive(const string &opt)
Возвращает активность опции команды по имени
Definition: ALDCommand.h:174
string m_strDesc
Описание
Definition: ALDCommand.h:141
ald_command_option_map m_mapOptions
Карта опций
Definition: ALDCommand.h:102
CALDCommandOptions m_Options
Опции команды
Definition: ALDCommand.h:142
bool m_bMandatory
Признак необходимости
Definition: ALDCommand.h:49
Класс контейнера опций команды
Definition: ALDCommand.h:99
bool m_bActive
Признак активности
Definition: ALDCommand.h:47
bool IsActive() const
Возвращает признак активности
Definition: ALDCommand.h:61
int m_iShortIdent
Короткое значение
Definition: ALDCommand.h:51
ald_string_list m_lstArguments
Список аргументов
Definition: ALDCommand.h:54
bool multiple() const
Возвращает признак множественности
Definition: ALDCommand.h:63
CALDCommandOptionPtr OptionByName(const string &strName)
Возвращет опцию по имени
Definition: ALDCommand.h:176
acArgumentNecessity hasArgument() const
Возвращает тип необходимости аргумента
Definition: ALDCommand.h:67
string m_strName
Имя опции
Definition: ALDCommand.h:50
const string & name() const
Возвращает имя
Definition: ALDCommand.h:57
map< string, CALDCommandPtr > ald_command_map
Карта команд (имя=>разделяемый указатель на команду
Definition: ALDCommand.h:193
acArgumentType m_ArgumentType
Ожидаемый тип аргумента
Definition: ALDCommand.h:53
bool IsPrivileged() const
Возвращает признак привилегированной команды
Definition: ALDCommand.h:164
bool IsIndependent() const
Возвращает признак независимой команды
Definition: ALDCommand.h:166
Аргумент может быть
Definition: ALDCommand.h:29
CALDCommandOptions & Options()
Возвращает контейнер опций
Definition: ALDCommand.h:172
shared_ptr< CALDCommand > CALDCommandPtr
Разделяемый указатель на команду
Definition: ALDCommand.h:191
Текст
Definition: ALDCommand.h:34
bool m_bMultiple
Признак множественности
Definition: ALDCommand.h:48
acArgumentType
Ожидаемый тип аргумента
Definition: ALDCommand.h:33
string m_strSection
Секция помощи
Definition: ALDCommand.h:139
const string & name() const
Возвращает имя
Definition: ALDCommand.h:156
Аргумент не требуется
Definition: ALDCommand.h:27
Шестнадцатиричное число
Definition: ALDCommand.h:36
bool m_bIndependent
Признак независимой команды
Definition: ALDCommand.h:147
acArgumentNecessity m_HasArgument
Тип необходимости аргумента
Definition: ALDCommand.h:52
ald_string_list m_lstArguments
Список аргументов
Definition: ALDCommand.h:143
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
Период времени
Definition: ALDCommand.h:38
ald_command_map m_mapCommands
Карта команд
Definition: ALDCommand.h:201
acArgumentNecessity hasArgument() const
Возвращает тип необходимости аргумента
Definition: ALDCommand.h:162
string m_strName
Имя
Definition: ALDCommand.h:140
Десятичное число
Definition: ALDCommand.h:35
const string & desc() const
Возвращает описание
Definition: ALDCommand.h:158
map< string, CALDCommandOptionPtr > ald_command_option_map
Карта опций (имя=>разделяемый указатель на опцию)
Definition: ALDCommand.h:94
IALDCore * m_pCore
Указатель на интерфейс ядра Astra Linux Directory.
Definition: ALDCommand.h:145
Аргумент обязателен
Definition: ALDCommand.h:28
acArgumentType argumentType() const
Возвращает ожидаемый тип аргумента
Definition: ALDCommand.h:69
ald_command_map::iterator m_itCommand
Итератор команд
Definition: ALDCommand.h:202
acArgumentNecessity m_HasArgument
Тип необходимости аргумента
Definition: ALDCommand.h:144
ald_command_option_map::iterator m_itOption
Итератор опций
Definition: ALDCommand.h:103
const string & section() const
Возвращает секцию команды
Definition: ALDCommand.h:154
Базовый класс опции команды
Definition: ALDCommand.h:44
int ident() const
Возвращает короткое значение
Definition: ALDCommand.h:59
shared_ptr< CALDCommandOption > CALDCommandOptionPtr
Разделяемый указатель на опцию
Definition: ALDCommand.h:91
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:241