bool XMLRPC::uintToBytes(const t_uint* _source) { std::stringstream ss; ss << *_source; std::string s = ss.str(); BTG_ICHECK( stringToBytes( &s ) ); return true; }
void LightBird::Configuration::_update() { name = _c.get("name"); pluginsPath = _c.get("pluginsPath", DEFAULT_PLUGINS_PATH); QtPluginsPath = _c.get("QtPluginsPath", DEFAULT_QT_PLUGINS_PATH); filesPath = _c.get("filesPath", DEFAULT_FILES_PATH); filesExtensionsPath = _c.get("filesExtensionsPath", FILES_EXTENSIONS_RESOURCES_PATH); if (!QFileInfo(filesExtensionsPath).isFile()) filesExtensionsPath = FILES_EXTENSIONS_RESOURCES_PATH; temporaryPath = _c.get("temporaryPath", DEFAULT_TEMPORARY_PATH); cleanTemporaryPath = _c.get("cleanTemporaryPath", DEFAULT_CLEAN_TEMPORARY_PATH) == "true"; languagesPath = _c.get("languagesPath", DEFAULT_LANGUAGES_PATH); language = _c.get("language"); threadsNumber = _c.get("threadsNumber", "10").toUInt(); hashSizeLimit = _c.get("hashSizeLimit", "-1").toLongLong(); database.name = _c.get("database/name"); database.file = _c.get("database/file", DEFAULT_DATABASE_FILE); database.path = _c.get("database/path", DEFAULT_DATABASE_PATH); database.resource = _c.get("database/resource", DEFAULT_DATABASE_RESOURCE); database.type = _c.get("database/type", DEFAULT_DATABASE_TYPE); database.password = _c.get("database/password"); database.user = _c.get("database/user"); database.host = _c.get("database/host"); database.port = _c.get("database/port").toUShort(); permissions.activate = _c.get("permissions/activate", DEFAULT_PERMISSIONS_ACTIVATE) == "true"; permissions.default_ = _c.get("permissions/default", DEFAULT_PERMISSIONS_DEFAULT) == "true"; permissions.inheritance = _c.get("permissions/inheritance", DEFAULT_PERMISSIONS_INHERITANCE) == "true"; permissions.ownerInheritance = _c.get("permissions/ownerInheritance", DEFAULT_PERMISSIONS_OWNERINHERITANCE) == "true"; permissions.groupInheritance = _c.get("permissions/groupInheritance", DEFAULT_PERMISSIONS_GROUPINHERITANCE) == "true"; log.level = Library::log().getLevelFromString(_c.get("log/level", "info")); log.display = _c.get("log/display", "false") == "true"; log.file = _c.get("log/file", "server.log"); log.path = _c.get("log/path", "logs"); log.maxNbOfFile = _c.get("log/maxNbOfFile", "10").toInt(); log.maxSize = stringToBytes(_c.get("log/maxSize", "1M")); log.expires = _c.get("log/expires", "30").toUInt(); preview.defaultHeight = _c.get("preview/defaultHeight", "300").toUInt(); preview.defaultFormat = LightBird::getImageFormat(_c.get("preview/defaultFormat", "jpeg"), LightBird::IImage::JPEG); preview.generateAfterIdentify = _c.get("preview/generateAfterIdentify", "true") == "true"; preview.cacheEnabled = _c.get("preview/cacheEnabled", "false") == "true"; preview.cachePath = _c.get("preview/cachePath", "cache"); preview.cacheSizeLimit = _c.get("preview/cacheSizeLimit", "-1").toLongLong(); }
bool XMLRPC::stringListToBytes(const t_strList* _source) { t_int const list_size = _source->size(); // Write the length of the list: BTG_ICHECK( intToBytes(&list_size) ); // Write the characters in the string to the byte array: t_strList::const_iterator ci; std::string ii(""); for (ci = _source->begin(); ci != _source->end(); ci++) { ii = ""; ii = *ci; BTG_ICHECK( stringToBytes(&ii) ); } return true; }
int processAtMLton (GC_state s, int start, int argc, char **argv, char **worldFile) { int i; i = start; while (s->controls.mayProcessAtMLton and i < argc and (0 == strcmp (argv [i], "@MLton"))) { bool done; i++; done = FALSE; while (!done) { if (i == argc) die ("Missing -- at end of @MLton args."); else { char *arg; arg = argv[i]; if (0 == strcmp (arg, "copy-generational-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton copy-generational-ratio missing argument."); s->controls.ratios.copyGenerational = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.copyGenerational) die ("@MLton copy-generational-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "copy-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton copy-ratio missing argument."); s->controls.ratios.copy = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.copy) die ("@MLton copy-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "fixed-heap")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton fixed-heap missing argument."); s->controls.fixedHeap = align (stringToBytes (argv[i++]), 2 * s->sysvals.pageSize); } else if (0 == strcmp (arg, "gc-messages")) { i++; s->controls.messages = TRUE; } else if (0 == strcmp (arg, "gc-summary")) { i++; s->controls.summary = TRUE; } else if (0 == strcmp (arg, "gc-summary-file")) { i++; if (i == argc || (0 == strcmp (argv[i], "--"))) die ("@MLton gc-summary-file missing argument."); s->controls.summary = TRUE; s->controls.summaryFile = fopen(argv[i++], "w"); if (s->controls.summaryFile == NULL) { die ("Invalid @MLton gc-summary-file %s (%s).", argv[i-1], strerror(errno)); } } else if (0 == strcmp (arg, "grow-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton grow-ratio missing argument."); s->controls.ratios.grow = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.grow) die ("@MLton grow-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "hash-cons")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton hash-cons missing argument."); s->controls.ratios.hashCons = stringToFloat (argv[i++]); unless (0.0 <= s->controls.ratios.hashCons and s->controls.ratios.hashCons <= 1.0) die ("@MLton hash-cons argument must be between 0.0 and 1.0."); } else if (0 == strcmp (arg, "live-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton live-ratio missing argument."); s->controls.ratios.live = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.live) die ("@MLton live-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "load-world")) { unless (s->controls.mayLoadWorld) die ("May not load world."); i++; s->amOriginal = FALSE; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton load-world missing argument."); *worldFile = argv[i++]; } else if (0 == strcmp (arg, "mark-compact-generational-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton mark-compact-generational-ratio missing argument."); s->controls.ratios.markCompactGenerational = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.markCompactGenerational) die ("@MLton mark-compact-generational-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "mark-compact-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton mark-compact-ratio missing argument."); s->controls.ratios.markCompact = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.markCompact) die ("@MLton mark-compact-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "max-heap")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton max-heap missing argument."); s->controls.maxHeap = align (stringToBytes (argv[i++]), 2 * s->sysvals.pageSize); } else if (0 == strcmp (arg, "may-page-heap")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton may-page-heap missing argument."); s->controls.mayPageHeap = stringToBool (argv[i++]); } else if (0 == strcmp (arg, "no-load-world")) { i++; s->controls.mayLoadWorld = FALSE; } else if (0 == strcmp (arg, "nursery-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton nursery-ratio missing argument."); s->controls.ratios.nursery = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.nursery) die ("@MLton nursery-ratio argument must be greater than 1.0."); } else if (0 == strcmp (arg, "ram-slop")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton ram-slop missing argument."); s->controls.ratios.ramSlop = stringToFloat (argv[i++]); } else if (0 == strcmp (arg, "show-sources")) { showSources (s); exit (0); } else if (0 == strcmp (arg, "stop")) { i++; s->controls.mayProcessAtMLton = FALSE; } else if (0 == strcmp (arg, "stack-current-grow-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-current-grow-ratio missing argument."); s->controls.ratios.stackCurrentGrow = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.stackCurrentGrow) die ("@MLton stack-current-grow-ratio argument must greater than 1.0."); } else if (0 == strcmp (arg, "stack-current-max-reserved-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-current-max-reserved-ratio missing argument."); s->controls.ratios.stackCurrentMaxReserved = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.stackCurrentMaxReserved) die ("@MLton stack-current-max-reserved-ratio argument must greater than 1.0."); } else if (0 == strcmp (arg, "stack-current-permit-reserved-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-current-permit-reserved-ratio missing argument."); s->controls.ratios.stackCurrentPermitReserved = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.stackCurrentPermitReserved) die ("@MLton stack-current-permit-reserved-ratio argument must greater than 1.0."); } else if (0 == strcmp (arg, "stack-current-shrink-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-current-shrink-ratio missing argument."); s->controls.ratios.stackCurrentShrink = stringToFloat (argv[i++]); unless (0.0 <= s->controls.ratios.stackCurrentShrink and s->controls.ratios.stackCurrentShrink <= 1.0) die ("@MLton stack-current-shrink-ratio argument must be between 0.0 and 1.0."); } else if (0 == strcmp (arg, "stack-max-reserved-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-max-reserved-ratio missing argument."); s->controls.ratios.stackMaxReserved = stringToFloat (argv[i++]); unless (1.0 < s->controls.ratios.stackMaxReserved) die ("@MLton stack-max-reserved-ratio argument must greater than 1.0."); } else if (0 == strcmp (arg, "stack-shrink-ratio")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton stack-shrink-ratio missing argument."); s->controls.ratios.stackShrink = stringToFloat (argv[i++]); unless (0.0 <= s->controls.ratios.stackShrink and s->controls.ratios.stackShrink <= 1.0) die ("@MLton stack-shrink-ratio argument must be between 0.0 and 1.0."); } else if (0 == strcmp (arg, "use-mmap")) { i++; if (i == argc || 0 == strcmp (argv[i], "--")) die ("@MLton use-mmap missing argument."); GC_setCygwinUseMmap (stringToBool (argv[i++])); } else if (0 == strcmp (arg, "--")) { i++; done = TRUE; } else if (i > 1) die ("Strange @MLton arg: %s", argv[i]); else done = TRUE; } } } return i; }
bool WebSettings::initWebSettings() { if (!localSettingsLoaded) return false; qDebug("webOS::WebSettings::initWebSettings"); QWebSettings* globalWebSettings = QWebSettings::globalSettings(); QSettings settings; if (settings.value(WEB_SETTINGS_KEY_PERSISTENT_STORAGE).toBool()) { QString path = settings.value(WEB_SETTINGS_KEY_PERSISTENT_STORAGE_PATH).toString(); if (!path.isEmpty()) { globalWebSettings->setAttribute(QWebSettings::LocalStorageEnabled, true); globalWebSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); globalWebSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); globalWebSettings->setIconDatabasePath(path); globalWebSettings->setOfflineWebApplicationCachePath(path); globalWebSettings->setOfflineStoragePath(QString("%1/Databases").arg(path)); globalWebSettings->setLocalStoragePath(QString("%1/LocalStorage").arg(path)); } } if (settings.contains(WEB_SETTINGS_KEY_AUTO_LOAD_IMAGES)) globalWebSettings->setAttribute(QWebSettings::AutoLoadImages, settings.value(WEB_SETTINGS_KEY_AUTO_LOAD_IMAGES).toBool()); if (settings.contains(WEB_SETTINGS_KEY_DNS_PREFETCH)) globalWebSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, settings.value(WEB_SETTINGS_KEY_DNS_PREFETCH).toBool()); if (settings.contains(WEB_SETTINGS_KEY_ICON_DATABASE_PATH)) globalWebSettings->setIconDatabasePath(settings.value(WEB_SETTINGS_KEY_ICON_DATABASE_PATH).toString()); if (settings.contains(WEB_SETTINGS_KEY_JAVASCRIPT)) globalWebSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(WEB_SETTINGS_KEY_JAVASCRIPT).toBool()); if (settings.contains(WEB_SETTINGS_KEY_PLUGINS)) globalWebSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(WEB_SETTINGS_KEY_PLUGINS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_PRIVATE_BROWSING)) globalWebSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, settings.value(WEB_SETTINGS_KEY_PRIVATE_BROWSING).toBool()); if (settings.contains(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_OPEN_WINDOWS)) globalWebSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, settings.value(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_OPEN_WINDOWS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_CLOSE_WINDOWS)) globalWebSettings->setAttribute(QWebSettings::JavascriptCanCloseWindows, settings.value(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_CLOSE_WINDOWS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_ACCESS_CLIPBOARD)) globalWebSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, settings.value(WEB_SETTINGS_KEY_JAVASCRIPT_CAN_ACCESS_CLIPBOARD).toBool()); if (settings.contains(WEB_SETTINGS_KEY_DEVELOPER_EXTRAS)) globalWebSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, settings.value(WEB_SETTINGS_KEY_DEVELOPER_EXTRAS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_SPACIAL_NAVIGATION)) globalWebSettings->setAttribute(QWebSettings::SpatialNavigationEnabled, settings.value(WEB_SETTINGS_KEY_SPACIAL_NAVIGATION).toBool()); if (settings.contains(WEB_SETTINGS_KEY_LINKS_INCLUDED_IN_FOCUS_CHAIN)) globalWebSettings->setAttribute(QWebSettings::LinksIncludedInFocusChain, settings.value(WEB_SETTINGS_KEY_LINKS_INCLUDED_IN_FOCUS_CHAIN).toBool()); if (settings.contains(WEB_SETTINGS_KEY_ZOOM_TEXT_ONLY)) globalWebSettings->setAttribute(QWebSettings::ZoomTextOnly, settings.value(WEB_SETTINGS_KEY_ZOOM_TEXT_ONLY).toBool()); if (settings.contains(WEB_SETTINGS_KEY_PRINT_ELEMENT_BACKGROUNDS)) globalWebSettings->setAttribute(QWebSettings::PrintElementBackgrounds, settings.value(WEB_SETTINGS_KEY_PRINT_ELEMENT_BACKGROUNDS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_OFFLINE_STORAGE_DATABASE)) { bool offlineStorageDatabaseEnabled = settings.value(WEB_SETTINGS_KEY_OFFLINE_STORAGE_DATABASE).toBool(); globalWebSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, offlineStorageDatabaseEnabled); if (offlineStorageDatabaseEnabled && settings.contains(WEB_SETTINGS_KEY_OFFLINE_STORAGE_DATABASE_PATH)) globalWebSettings->setOfflineStoragePath(settings.value(WEB_SETTINGS_KEY_OFFLINE_STORAGE_DATABASE_PATH).toString()); } if (settings.contains(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_CACHE)) { bool offlineWebApplicationCachedEnabled = settings.value(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_CACHE).toBool(); globalWebSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, offlineWebApplicationCachedEnabled); if (offlineWebApplicationCachedEnabled && settings.contains(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_CACHE_PATH)) globalWebSettings->setOfflineWebApplicationCachePath(settings.value(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_CACHE_PATH).toString()); } if (settings.contains(WEB_SETTINGS_KEY_LOCAL_STORAGE)) { bool localStorageEnabled = settings.value(WEB_SETTINGS_KEY_LOCAL_STORAGE).toBool(); globalWebSettings->setAttribute(QWebSettings::LocalStorageEnabled, localStorageEnabled); if (localStorageEnabled && settings.contains(WEB_SETTINGS_KEY_LOCAL_STORAGE_PATH)) globalWebSettings->setLocalStoragePath(settings.value(WEB_SETTINGS_KEY_LOCAL_STORAGE_PATH).toString()); } if (settings.contains(WEB_SETTINGS_KEY_LOCAL_CONTENT_CAN_ACCESS_REMOTE_URLS)) globalWebSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, settings.value(WEB_SETTINGS_KEY_LOCAL_CONTENT_CAN_ACCESS_REMOTE_URLS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_LOCAL_CONTENT_CAN_ACCESS_FILE_URLS)) globalWebSettings->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, settings.value(WEB_SETTINGS_KEY_LOCAL_CONTENT_CAN_ACCESS_FILE_URLS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_XSS_AUDITING)) globalWebSettings->setAttribute(QWebSettings::XSSAuditingEnabled, settings.value(WEB_SETTINGS_KEY_XSS_AUDITING).toBool()); if (settings.contains(WEB_SETTINGS_KEY_ACCELERATED_COMPOSITING)) globalWebSettings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, settings.value(WEB_SETTINGS_KEY_ACCELERATED_COMPOSITING).toBool()); if (settings.contains(WEB_SETTINGS_KEY_WEBGL)) globalWebSettings->setAttribute(QWebSettings::WebGLEnabled, settings.value(WEB_SETTINGS_KEY_WEBGL).toBool()); if (settings.contains(WEB_SETTINGS_KEY_TILE_BACKING_STORE)) globalWebSettings->setAttribute(QWebSettings::TiledBackingStoreEnabled, settings.value(WEB_SETTINGS_KEY_TILE_BACKING_STORE).toBool()); if (settings.contains(WEB_SETTINGS_KEY_FRAME_FLATTENING)) globalWebSettings->setAttribute(QWebSettings::FrameFlatteningEnabled, settings.value(WEB_SETTINGS_KEY_FRAME_FLATTENING).toBool()); if (settings.contains(WEB_SETTINGS_KEY_SITE_SPECIFIC_QUIRKS)) globalWebSettings->setAttribute(QWebSettings::SiteSpecificQuirksEnabled, settings.value(WEB_SETTINGS_KEY_SITE_SPECIFIC_QUIRKS).toBool()); if (settings.contains(WEB_SETTINGS_KEY_MAX_PAGES_IN_CACHE)) globalWebSettings->setMaximumPagesInCache(settings.value(WEB_SETTINGS_KEY_MAX_PAGES_IN_CACHE).toInt()); if (settings.contains(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_MIN) && settings.contains(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_MAX) && settings.contains(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_OVERALL)) { globalWebSettings->setObjectCacheCapacities( stringToBytes(settings.value(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_MIN).toString()), stringToBytes(settings.value(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_MAX).toString()), stringToBytes(settings.value(WEB_SETTINGS_KEY_OBJ_CACHE_CAPACITY_OVERALL).toString())); } if (settings.contains(WEB_SETTINGS_KEY_OFFLINE_STORAGE_QUOTA)) globalWebSettings->setOfflineStorageDefaultQuota(stringToBytes(settings.value(WEB_SETTINGS_KEY_OFFLINE_STORAGE_QUOTA).toString())); if (settings.contains(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_QUOTA)) globalWebSettings->setOfflineStorageDefaultQuota(stringToBytes(settings.value(WEB_SETTINGS_KEY_OFFLINE_WEBAPP_QUOTA).toString())); QStringList supplementalPath; if (settings.contains(WEB_SETTINGS_KEY_PLUGIN_SUPPLEMENTAL_PATH)) supplementalPath.append(settings.value(WEB_SETTINGS_KEY_PLUGIN_SUPPLEMENTAL_PATH).toString()); if (settings.contains(WEB_SETTINGS_KEY_PLUGIN_SUPPLEMENTAL_USER_PATH)) supplementalPath.append(settings.value(WEB_SETTINGS_KEY_PLUGIN_SUPPLEMENTAL_USER_PATH).toString()); #if QT_VERSION < QT_VERSION_CHECK(5,0,0) if (!supplementalPath.isEmpty()) globalWebSettings->setPluginSupplementalPath(supplementalPath.join(QLatin1String(":"))); if (settings.contains(WEB_SETTINGS_KEY_FULLSCREEN_API)) globalWebSettings->setAttribute(QWebSettings::FullScreenEnabled, settings.value(WEB_SETTINGS_KEY_FULLSCREEN_API).toBool()); #endif return true; }
void LightBird::Configuration::_set(const QString &key, const QString &value) { int slash = key.indexOf('/'); if (slash < 0) { if (key == "name") name = value; else if (key == "pluginsPath") pluginsPath = value; else if (key == "QtPluginsPath") QtPluginsPath = value; else if (key == "filesPath") filesPath = value; else if (key == "filesExtensionsPath") filesExtensionsPath = value; else if (key == "temporaryPath") temporaryPath = value; else if (key == "cleanTemporaryPath") cleanTemporaryPath = (value == "true"); else if (key == "languagesPath") languagesPath = value; else if (key == "language") language = value; else if (key == "threadsNumber") threadsNumber = value.toUInt(); else if (key == "hashSizeLimit") hashSizeLimit = value.toLongLong(); } else if (slash == key.lastIndexOf('/')) { QString k = key.right(key.size() - slash - 1); if (key.startsWith("database/")) { if (k == "name") database.name = value; else if (k == "file") database.file = value; else if (k == "path") database.path = value; else if (k == "resource") database.resource = value; else if (k == "type") database.type = value; else if (k == "password") database.password = value; else if (k == "user") database.user = value; else if (k == "host") database.host = value; else if (k == "port") database.port = value.toUShort(); } else if (key.startsWith("permissions/")) { if (k == "activate") permissions.activate = (value == "true"); else if (k == "default") permissions.default_ = (value == "true"); else if (k == "inheritance") permissions.inheritance = (value == "true"); else if (k == "ownerInheritance") permissions.ownerInheritance = (value == "true"); else if (k == "groupInheritance") permissions.groupInheritance = (value == "true"); } else if (key.startsWith("log/")) { if (k == "level") log.level = Library::log().getLevelFromString(value); else if (k == "display") log.display = (value == "true"); else if (k == "file") log.file = value; else if (k == "path") log.path = value; else if (k == "maxNbOfFile") log.maxNbOfFile = value.toInt(); else if (k == "maxSize") log.maxSize = stringToBytes(value); else if (k == "expires") log.expires = value.toUInt(); } else if (key.startsWith("preview/")) { if (k == "cacheEnabled") preview.cacheEnabled = (value == "true"); else if (k == "cachePath") preview.cachePath = value; else if (k == "cacheSizeLimit") preview.cacheSizeLimit = value.toLongLong(); } } }