bool loadSettings() { // init defaults for (int i = 0; i < config_size; i++) { ConfigEntry * entry = config + i; tryParseValue(*entry->type, entry->default_val, entry->storage); } // try read from file FileParser infile; if (!infile.open(PATH_CONF + FILE_SETTINGS, false, "")) { loadAndroidDefaults(); if (!infile.open("engine/default_settings.txt", true, "")) { saveSettings(); return true; } else saveSettings(); } while (infile.next()) { ConfigEntry * entry = getConfigEntry(infile.key); if (entry) { tryParseValue(*entry->type, infile.val, entry->storage); } } infile.close(); loadAndroidDefaults(); return true; }
void Settings::loadSettings() { // init defaults for (size_t i = 0; i < config.size(); i++) { Parse::tryParseValue(*config[i].type, config[i].default_val, config[i].storage); } // try read from file FileParser infile; if (!infile.open(settings->path_conf + "settings.txt", !FileParser::MOD_FILE, FileParser::ERROR_NONE)) { loadMobileDefaults(); if (!infile.open("engine/default_settings.txt", FileParser::MOD_FILE, FileParser::ERROR_NONE)) { saveSettings(); return; } else saveSettings(); } while (infile.next()) { size_t entry = getConfigEntry(infile.key); if (entry != config.size()) { Parse::tryParseValue(*config[entry].type, infile.val, config[entry].storage); } } infile.close(); loadMobileDefaults(); }
/* * loadConfigStats() * * Reads the header table SNMP settings and sets them in the mmap'd stats * file. This should be done only when the semaphore is held. */ static void loadConfigStats() { Slapi_Entry *entry = NULL; char *name = NULL; char *desc = NULL; char *org = NULL; char *loc = NULL; char *contact = NULL; /* Read attributes from SNMP config entry */ getConfigEntry( &entry ); if ( entry != NULL ) { name = slapi_entry_attr_get_charptr( entry, SNMP_NAME_ATTR ); desc = slapi_entry_attr_get_charptr( entry, SNMP_DESC_ATTR ); org = slapi_entry_attr_get_charptr( entry, SNMP_ORG_ATTR ); loc = slapi_entry_attr_get_charptr( entry, SNMP_LOC_ATTR ); contact = slapi_entry_attr_get_charptr( entry, SNMP_CONTACT_ATTR ); freeConfigEntry( &entry ); } /* Load stats into table */ if ( name != NULL) { PL_strncpyz(stats->hdr_stats.dsName, name, SNMP_FIELD_LENGTH); } if ( desc != NULL) { PL_strncpyz(stats->hdr_stats.dsDescription, desc, SNMP_FIELD_LENGTH); } if ( org != NULL) { PL_strncpyz(stats->hdr_stats.dsOrganization, org, SNMP_FIELD_LENGTH); } if ( loc != NULL) { PL_strncpyz(stats->hdr_stats.dsLocation, loc, SNMP_FIELD_LENGTH); } if ( contact != NULL) { PL_strncpyz(stats->hdr_stats.dsContact, contact, SNMP_FIELD_LENGTH); } /* Free strings */ slapi_ch_free((void **) &name); slapi_ch_free((void **) &desc); slapi_ch_free((void **) &org); slapi_ch_free((void **) &loc); slapi_ch_free((void **) &contact); }
static int sasl_map_read_config_startup(sasl_map_private *priv) { char **map_entry_list = NULL; int ret = 0; slapi_log_err(SLAPI_LOG_TRACE, "sasl_map_read_config_startup", "=>\n"); if((map_entry_list = getChildren(configDN))) { char **map_entry = NULL; Slapi_Entry *entry = NULL; sasl_map_data *dp = NULL; for (map_entry = map_entry_list; *map_entry && !ret; map_entry++) { slapi_log_err(SLAPI_LOG_CONFIG, "sasl_map_read_config_startup", "Processing [%s]\n", *map_entry); getConfigEntry( *map_entry, &entry ); if ( entry == NULL ) { continue; } ret = sasl_map_config_parse_entry(entry,&dp); if (ret) { slapi_log_err(SLAPI_LOG_ERR, "sasl_map_read_config_startup", "Failed to parse entry\n"); } else { ret = sasl_map_insert_list_entry(priv,dp); if (ret) { slapi_log_err(SLAPI_LOG_ERR, "sasl_map_read_config_startup", "Failed to insert entry\n"); } else { slapi_log_err(SLAPI_LOG_CONFIG, "sasl_map_read_config_startup", "Processed [%s]\n", *map_entry); } } freeConfigEntry( &entry ); } freeChildren( map_entry_list ); } slapi_log_err(SLAPI_LOG_TRACE, "sasl_map_read_config_startup", "<= %d\n", ret); return ret; }
static ConfigEntry * getConfigEntry(const std::string & name) { return getConfigEntry(name.c_str()); }