Add JSONConfiguration to Poco::Util::Application::loadConfiguration.

This commit is contained in:
Mike Naquin 2012-11-14 10:31:52 -06:00
Родитель 0472e955ba
Коммит 5f1d1b02e2
3 изменённых файлов: 19 добавлений и 1 удалений

Просмотреть файл

@ -120,6 +120,12 @@
// #define POCO_UTIL_NO_INIFILECONFIGURATION
// No support for JSON configuration in
// Poco::Util::Application. Avoids linking of JSON
// library and saves a few 100 Kbytes.
// #define POCO_UTIL_NO_JSONCONFIGURATION
// No support for XML configuration in
// Poco::Util::Application. Avoids linking of XML
// library and saves a few 100 Kbytes.

Просмотреть файл

@ -40,6 +40,7 @@
#include "Poco/Util/PropertyFileConfiguration.h"
#include "Poco/Util/IniFileConfiguration.h"
#include "Poco/Util/XMLConfiguration.h"
#include "Poco/Util/JSONConfiguration.h"
#include "Poco/Util/LoggingSubsystem.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionProcessor.h"
@ -251,6 +252,13 @@ int Application::loadConfiguration(int priority)
++n;
}
#endif
#ifndef POCO_UTIL_NO_JSONCONFIGURATION
if (findAppConfigFile(appPath.getBaseName(), "json", cfgPath))
{
_pConfig->add(new JSONConfiguration(cfgPath.toString()), priority, false, false);
++n;
}
#endif
#ifndef POCO_UTIL_NO_XMLCONFIGURATION
if (findAppConfigFile(appPath.getBaseName(), "xml", cfgPath))
{
@ -276,6 +284,10 @@ void Application::loadConfiguration(const std::string& path, int priority)
else if (icompare(ext, "ini") == 0)
_pConfig->add(new IniFileConfiguration(confPath.toString()), priority, false, false);
#endif
#ifndef POCO_UTIL_NO_JSONONFIGURATION
else if (icompare(ext, "json") == 0)
_pConfig->add(new JSONConfiguration(confPath.toString()), priority, false, false);
#endif
#ifndef POCO_UTIL_NO_XMLCONFIGURATION
else if (icompare(ext, "xml") == 0)
_pConfig->add(new XMLConfiguration(confPath.toString()), priority, false, false);

2
configure поставляемый
Просмотреть файл

@ -174,7 +174,7 @@ while [ $# -ge 1 ]; do
flags="$flags -DPOCO_NET_NO_IPv6" ;;
--poquito)
flags="$flags -DPOCO_NO_FILECHANNEL -DPOCO_NO_SPLITTERCHANNEL -DPOCO_NO_SYSLOGCHANNEL -DPOCO_UTIL_NO_INIFILECONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION" ;;
flags="$flags -DPOCO_NO_FILECHANNEL -DPOCO_NO_SPLITTERCHANNEL -DPOCO_NO_SYSLOGCHANNEL -DPOCO_UTIL_NO_INIFILECONFIGURATION -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION" ;;
--unbundled)
flags="$flags -DPOCO_UNBUNDLED"