|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
18.06.2010, 22:37 | #1 |
Гость
Сообщений: n/a
|
[10081][idea] Drop usage of DOTCONFDocument.
В общем смотрел я на это дело, смотрел. И подумал. А зачем нужен этот велосипед вообще?
Объясняю подробнее. Формат конфигов у нас очень простой. По сути это обычный INI файл вида ключ = значение. Кроме того, мы активно используем ACE Framework. ACE предоставляет класс ACE_Ini_ImpExp, который может делать абсолютно всё, что делается сейчас. Если кому-то интересно, выложу патч, убирающий эту зависимость от стороннего кода. Благо работает прекрасно. |
8 пользователя(ей) сказали cпасибо: | Feel the Power (19.06.2010), Konctantin (19.06.2010), lordinpvp (19.06.2010), LordJZ (18.06.2010), Viste (19.06.2010), Vladimir (20.06.2010) |
19.06.2010, 02:15 | #2 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Вообщемто согласен - используем чисто исторически с друвних времен.
Если конечно будет читать текущие конфиги с минимум особеностей то здравая идея. Кстати насколько я помню ACE конфиги понимают кучу источников включая базы и registry. Соотвевеено использование стандартного API может позволить интересующимся для себя изменить форму хранения если сильно хочется.
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
2 пользователя(ей) сказали cпасибо: | Konctantin (19.06.2010), LordJZ (19.06.2010) |
19.06.2010, 11:25 | #4 |
Гость
Сообщений: n/a
|
Насчет хранения в базе не уверен, не видел там такого. А вот в реестре - да, хранит прекрасно. Но только под виндой, само собой.
Особенностей в общем-то две всего: 1. Нет возможности сконфигурировать чувствительность к регистру символов. Что мне в общем-то никогда не мешало. 2. Конфиг ожидается в формате Код:
[Section1] key = value ... ... [SectionN] key = value ... Последний раз редактировалось Astellar; 20.06.2010 в 00:00. |
19.06.2010, 11:34 | #5 |
Гость
Сообщений: n/a
|
Сам патч выглядит следующим образом.
PHP код:
Последний раз редактировалось Astellar; 19.06.2010 в 18:42. |
Пользователь сказал cпасибо: | Vladimir (19.06.2010) |
20.06.2010, 00:23 | #6 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Я думаю лучше перенесу GetValue как
Код:
static bool GetValueHelper(ACE_Configuration_Heap *mConf, const char *name, ACE_TString &result)
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
20.06.2010, 00:33 | #7 |
Гость
Сообщений: n/a
|
Можно и так. Только там ведь forward declaration идёт. Заголовок подключается именно что в Config.cpp. Config.h в плане заголовочных файлов остался нетронутым.
Всё, понял про какой именно заголовок речь идёт. Который в ConfigEnv.h. Тогда да, надо менять. Последний раз редактировалось Astellar; 20.06.2010 в 00:50. |
20.06.2010, 00:49 | #8 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Код:
diff --git a/src/shared/Config/ConfigEnv.h b/src/shared/Config/ConfigEnv.h index e9801b6..9f2c7d3 100644 --- a/src/shared/Config/ConfigEnv.h +++ b/src/shared/Config/ConfigEnv.h @@ -21,7 +21,7 @@ #define CONFIGENVIRONMENT_H #include "Common.h" -#include "dotconfpp/dotconfpp.h" +#include "ace/Configuration_Import_Export.h"
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
20.06.2010, 00:55 | #9 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
С описанными изменениями в [10081]. Спасибо
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10695] Cleanup some death state enums usage. | newsbot | CMaNGOS Commits | 0 | 08.11.2010 01:50 |
[a bit of research] ACE Reactor usage. | Astellar | Патчи | 4 | 25.06.2010 09:14 |
[10091][idea] Use ACE for CLI args parsing. | Astellar | Принятые патчи | 7 | 21.06.2010 05:40 |
[10081] Use ACE config library instead dotconfpp | newsbot | CMaNGOS Commits | 0 | 20.06.2010 01:00 |
[9723] Finaly cleanup usage ventorslot values. | newsbot | CMaNGOS Commits | 0 | 10.04.2010 23:30 |