Astra Linux Directory Client Core API  1.7.0
ald-config.h
См. документацию.
1 
6 #ifndef ALD_CONFIG
7 #define ALD_CONFIG
8 
9 #include "common.h"
10 #include "ALDCore.h"
11 #include <list>
12 #include <memory>
13 #include "gettext.h"
14 
15 using namespace std;
16 using namespace ALD;
17 
18 namespace ALD
19 {
25 #define ALD_CFG_ITF_NAME "ald-config"
27 
28 class IALDConfig;
29 
35 {
36 protected:
38 public:
39  IALDConfigFile(IALDCore &Core){m_pCore = &Core;}
40 
47  virtual bool Open(const string &filename, const string& mode, bool no_comment = false) = 0;
48 
56  virtual bool OpenTemplate(const string &templatename, const string &destfilename,
57  const string& mode, bool no_comment = false) = 0;
58 
62  virtual void ApplyTemplates(ald_string_map& mapValues) = 0;
63 
68  virtual void RemoveMarkers(const string &beginmarker, const string &endmarker) = 0;
69 
70  virtual void RemoveALDMarkers() = 0;
71 
77  virtual void SetParamValue(const string &param, const string &value) = 0;
78 
82  virtual string GetParamValue(const string &param) = 0;
83 
87  virtual void RestoreParamValue(const string &param) = 0;
88 
94  virtual void SetLine(const string &token, const string &line) = 0;
95 
99  virtual string GetLine(const string &token) = 0;
100 
104  virtual void RestoreLine(const string &token) = 0;
105 
109  virtual void Save(bool no_reserve = false) = 0;
110 
111  virtual ~IALDConfigFile(){}
112 };
113 
114 typedef shared_ptr<IALDConfigFile> CALDConfigFilePtr;
115 
121 {
122 public:
124 
131  virtual CALDConfigFilePtr OpenConfigFile(const string& filename, const string& mode,
132  bool no_comment = false) = 0;
133 
141  virtual CALDConfigFilePtr OpenConfigFileTemplate(const string& templatename,
142  const string &destfilename,
143  const string& mode,
144  bool no_comment = false) = 0;
145 
146  virtual void RecreateTemplatesMap() = 0;
148 
153  virtual void InstallConfigFileTemplate(const string& templatename) = 0;
154 
161  virtual void ProcessConfigFileTemplate(const string& templatename, const string& destfilename,
162  const string& mode, ald_string_map *pmapValues = NULL) = 0;
163 
164  virtual void ReserveConfigFile(const string& filename) = 0;
165  virtual void RestoreConfigFile(const string& filename) = 0;
166  virtual void RemoveConfigFileReserve(const string& filename) = 0;
167 
168  virtual void RemoveALDMarkersFromConfigFile(const string& filename) = 0;
169 
174  virtual bool UpdateConfigFileParam(const string &name, const string &value) = 0;
175 
179  virtual string TemplateValue(const string &p) = 0;
180 
185  virtual bool TemplateValueExists(const string &p) = 0;
186 
191  virtual void SetTemplateValue(const string &p, const string &v) = 0;
192 
197  virtual void SaveConfigStatus(const string& mode) = 0;
198 
203  virtual bool IsConfigStatusExist(const string& mode) = 0;
204 
208  virtual void RemoveConfigStatus(const string& mode) = 0;
209 
214  virtual void LoadConfigStatus(const string& mode, ald_string_map& status) = 0;
215 
216  virtual void SaveFileServerStatus() = 0;
217  virtual string GetFileServerStatus() = 0;
218  virtual void RemoveFileServerStatus() = 0;
219 
220  virtual ~IALDConfig(){}
221 };
222 
223 typedef shared_ptr<IALDConfig> CALDConfigPtr;
224 
226 
227 } // ALD
228 
229 #endif // ALD_ICONFIG
230 
231 
232 
ALD::IALDConfigFile::ApplyTemplates
virtual void ApplyTemplates(ald_string_map &mapValues)=0
Обработка шаблона с подстановкой значений переменных
ALD::IALDConfig::RemoveConfigStatus
virtual void RemoveConfigStatus(const string &mode)=0
Удаение статуса ядра ALD для заданного режима
ALD::IALDConfig::IsConfigStatusExist
virtual bool IsConfigStatusExist(const string &mode)=0
Проверка существования статуса ядра ALD для заданного режима
ALD::IALDConfig::InstallConfigFileTemplate
virtual void InstallConfigFileTemplate(const string &templatename)=0
Установка шаблона конфигурацонного файла
ALD::IALDConfig::SaveFileServerStatus
virtual void SaveFileServerStatus()=0
Сохранение статуса файлового сервера
ALD::CALDConfigPtr
shared_ptr< IALDConfig > CALDConfigPtr
Разделяемый указатель на интерфейс конфигурирования Astra Linux Directory.
Definition: ald-config.h:223
ALD_CFG_ITF_NAME
#define ALD_CFG_ITF_NAME
Имя интерфейса конфигурирования
Definition: ald-config.h:26
ALD::IALDConfig::TemplateValue
virtual string TemplateValue(const string &p)=0
Получение значения подстановочной переменной по имени
ALD::IALDConfig::RecreateTemplatesMap
virtual void RecreateTemplatesMap()=0
Инициализация таблица подстановочных переменных из системной таблицы переменных ALD.
ALD::IALDConfigFile::SetLine
virtual void SetLine(const string &token, const string &line)=0
Установка строки по шаблону (регулярному выражению)
ALD::IALDConfig::TemplatesValues
virtual ald_string_map & TemplatesValues()=0
Таблица подстановочных переменных
ALD::IALDConfigFile::OpenTemplate
virtual bool OpenTemplate(const string &templatename, const string &destfilename, const string &mode, bool no_comment=false)=0
Открытие шаблона конфигурационного файла
ALD::IALDConfig::RemoveConfigFileReserve
virtual void RemoveConfigFileReserve(const string &filename)=0
Удалении резервной копии заданного конфигурационного файла
ALD::IALDConfigFile
Абстрактный класс-интерфейс работы с конфигурационным файлом
Definition: ald-config.h:35
ALD::IALDConfig::SetTemplateValue
virtual void SetTemplateValue(const string &p, const string &v)=0
Установка значения подстановочной переменной по имени
ALD::IALDConfig::TemplateValueExists
virtual bool TemplateValueExists(const string &p)=0
Проверка существования подстановочной переменной по имени
ALD::IALDConfig::ProcessConfigFileTemplate
virtual void ProcessConfigFileTemplate(const string &templatename, const string &destfilename, const string &mode, ald_string_map *pmapValues=NULL)=0
Обработка шаблона конфигурацонного файла с подстановкой значений переменных
ALD::IALDCore
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
ALD::IALDConfig::RestoreConfigFile
virtual void RestoreConfigFile(const string &filename)=0
Восстановление резервной копии заданного конфигурационного файла
ALD::IALDConfigFile::m_pCore
IALDCore * m_pCore
Указатель на основной интерфейс клиента IALDCore.
Definition: ald-config.h:37
ALD::IALDConfigFile::Open
virtual bool Open(const string &filename, const string &mode, bool no_comment=false)=0
Открытие конфигурационного файла
ALD::IALDConfig::RemoveFileServerStatus
virtual void RemoveFileServerStatus()=0
Удаление статуса файлового сервера
gettext.h
Конфигурационные определения для подсистемы локализации Gettext.
ALD::IALDConfig::RemoveALDMarkersFromConfigFile
virtual void RemoveALDMarkersFromConfigFile(const string &filename)=0
Удаление комментариев ALD из заданного конфигурационного файла
ALD::IALDConfigFile::Save
virtual void Save(bool no_reserve=false)=0
Сохранение конфигурационного файла
ALD::IALDConfig::GetFileServerStatus
virtual string GetFileServerStatus()=0
Загрузка статуса файлового сервера, возвращается тип файлового сервера
ALD::ald_string_map
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
ALD::IALDConfigFile::RestoreParamValue
virtual void RestoreParamValue(const string &param)=0
Восстановление ранее закоментированного значения параметра по имени
ALD::IALDConfigFile::IALDConfigFile
IALDConfigFile(IALDCore &Core)
Конструктор
Definition: ald-config.h:39
ALD::IALDConfig
Абстрактный класс-интерфейс конфигурирования Astra Linux Directory.
Definition: ald-config.h:121
ALD::IALDConfig::LoadConfigStatus
virtual void LoadConfigStatus(const string &mode, ald_string_map &status)=0
Загрузка статуса ядра ALD для заданного режима
ALD::IALDConfig::OpenConfigFile
virtual CALDConfigFilePtr OpenConfigFile(const string &filename, const string &mode, bool no_comment=false)=0
Открытие конфигурационного файла
ALD::IALDConfig::IALDConfig
IALDConfig(IALDCore &Core)
Конструктор
Definition: ald-config.h:123
ALD::IALDConfigFile::RemoveALDMarkers
virtual void RemoveALDMarkers()=0
Удаление комментариев Astra Linux Directory.
ALD::IALDConfigFile::GetParamValue
virtual string GetParamValue(const string &param)=0
Получение значения параметра по имени
ALD::IALDConfigFile::SetParamValue
virtual void SetParamValue(const string &param, const string &value)=0
Установка значения параметра по имени
common.h
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
ALD::IALDConfig::UpdateConfigFileParam
virtual bool UpdateConfigFileParam(const string &name, const string &value)=0
Установка значения параметра конфигурационного файла ALD (ald.conf) по имени
ALD
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
ALD::IALDConfigFile::RestoreLine
virtual void RestoreLine(const string &token)=0
Восстановление ранее закоментированного значения строки по шаблону (регулярному выражению)
ALDCore.h
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
ALD::CALDInterface
Базовый класс интерфейса
Definition: ALDCore.h:84
ALD::IALDConfig::~IALDConfig
virtual ~IALDConfig()
Деструктор
Definition: ald-config.h:220
ALD::IALDConfig::ReserveConfigFile
virtual void ReserveConfigFile(const string &filename)=0
Сохранение резервной копии заданного конфигурационного файла
ALD::IALDConfig::SaveConfigStatus
virtual void SaveConfigStatus(const string &mode)=0
Сохранение статуса ядра ALD для заданного режима
ALD::IALDConfigFile::RemoveMarkers
virtual void RemoveMarkers(const string &beginmarker, const string &endmarker)=0
Удаление строк обрамленных заданными маркерами
ALD::IALDConfig::OpenConfigFileTemplate
virtual CALDConfigFilePtr OpenConfigFileTemplate(const string &templatename, const string &destfilename, const string &mode, bool no_comment=false)=0
Открытие шаблона конфигурационного файла
ALD::IALDConfigFile::~IALDConfigFile
virtual ~IALDConfigFile()
Деструктор
Definition: ald-config.h:111
ALD::IALDConfigFile::GetLine
virtual string GetLine(const string &token)=0
Получение строки по шаблону (регулярному выражению)
ALD::CALDConfigFilePtr
shared_ptr< IALDConfigFile > CALDConfigFilePtr
Разделяемый указатель на интерфейс работы с конфигурационным файлом IALDConfigFile.
Definition: ald-config.h:114