示例#1
0
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;
}
示例#2
0
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();
}
示例#3
0
/*
 * 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);
}
示例#4
0
文件: sasl_map.c 项目: Firstyear/ds
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;
}
示例#5
0
static ConfigEntry * getConfigEntry(const std::string & name) {
	return getConfigEntry(name.c_str());
}