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;
147  virtual ald_string_map& TemplatesValues() = 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 
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
#define ALD_CFG_ITF_NAME
Имя интерфейса конфигурирования
Definition: ald-config.h:26
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
Абстрактный класс-интерфейс конфигурирования Astra Linux Directory.
Definition: ald-config.h:120
shared_ptr< IALDConfig > CALDConfigPtr
Разделяемый указатель на интерфейс конфигурирования Astra Linux Directory.
Definition: ald-config.h:223
STL namespace.
Базовый класс интерфейса
Definition: ALDCore.h:83
IALDCore * m_pCore
Указатель на основной интерфейс клиента IALDCore.
Definition: ald-config.h:37
IALDConfigFile(IALDCore &Core)
Конструктор
Definition: ald-config.h:39
shared_ptr< IALDConfigFile > CALDConfigFilePtr
Разделяемый указатель на интерфейс работы с конфигурационным файлом IALDConfigFile.
Definition: ald-config.h:114
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
Абстрактный класс-интерфейс работы с конфигурационным файлом
Definition: ald-config.h:34
virtual ~IALDConfig()
Деструктор
Definition: ald-config.h:220
virtual ~IALDConfigFile()
Деструктор
Definition: ald-config.h:111
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
IALDConfig(IALDCore &Core)
Конструктор
Definition: ald-config.h:123
Конфигурационные определения для подсистемы локализации Gettext.
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:241