Exemplo n.º 1
0
// dump all known runtime config options to the file with their default values.
// to trigger this, make a config file of zero size.
void SkRTConfRegistry::possiblyDumpFile() const {
    const char *path = configFileLocation();
    SkFILE *fp = sk_fopen(path, kRead_SkFILE_Flag);
    if (!fp) {
        return;
    }
    size_t configFileSize = sk_fgetsize(fp);
    if (configFileSize == 0) {
        printAll(path);
    }
    sk_fclose(fp);
}
Exemplo n.º 2
0
SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) {

    SkFILE *fp = sk_fopen(configFileLocation(), kRead_SkFILE_Flag);

    if (!fp) {
        return;
    }

    char line[1024];

    while (!sk_feof(fp)) {

        if (!sk_fgets(line, sizeof(line), fp)) {
            break;
        }

        char *commentptr = strchr(line, '#');
        if (commentptr == line) {
            continue;
        }
        if (NULL != commentptr) {
            *commentptr = '\0';
        }

        char sep[] = " \t\r\n";

        char *keyptr = strtok(line, sep);
        if (!keyptr) {
            continue;
        }

        char *valptr = strtok(NULL, sep);
        if (!valptr) {
            continue;
        }

        SkString* key = SkNEW_ARGS(SkString,(keyptr));
        SkString* val = SkNEW_ARGS(SkString,(valptr));

        fConfigFileKeys.append(1, &key);
        fConfigFileValues.append(1, &val);
    }
    sk_fclose(fp);
}
Exemplo n.º 3
0
bool Environment::initConfig(Config::Config *config, const std::string& name,
                             int fromStage, int toStage, bool standalone) const {
	std::string globalConfig, appConfig;

	globalConfig = configFileLocation(name, CS_DEFAULT_GLOBAL);
	appConfig = configFileLocation(name, CS_DEFAULT_APP);

	if ( !standalone ) {
		if ( CHECK_RANGE(CS_DEFAULT_GLOBAL, fromStage, toStage) ) {
			if ( appConfig != globalConfig && Util::fileExists(globalConfig) )
				if ( !config->readConfig(globalConfig, CS_DEFAULT_GLOBAL) ) return false;
		}
	}

	if ( CHECK_RANGE(CS_DEFAULT_APP, fromStage, toStage) ) {
		if ( Util::fileExists(appConfig) )
			if ( !config->readConfig(appConfig, CS_DEFAULT_APP) ) return false;
	}

	globalConfig = configFileLocation(name, CS_CONFIG_GLOBAL);
	appConfig = configFileLocation(name, CS_CONFIG_APP);

	if ( !standalone ) {
		if ( CHECK_RANGE(CS_CONFIG_GLOBAL, fromStage, toStage) ) {
			if ( appConfig != globalConfig && Util::fileExists(globalConfig) )
				if ( !config->readConfig(globalConfig, CS_CONFIG_GLOBAL) ) return false;
		}
	}

	if ( CHECK_RANGE(CS_CONFIG_APP, fromStage, toStage) ) {
		if ( Util::fileExists(appConfig) )
			if ( !config->readConfig(appConfig, CS_CONFIG_APP) ) return false;
	}

	globalConfig = configFileLocation(name, CS_USER_GLOBAL);
	appConfig = configFileLocation(name, CS_USER_APP);

	if ( !standalone ) {
		if ( CHECK_RANGE(CS_USER_GLOBAL, fromStage, toStage) ) {
			if ( appConfig != globalConfig && Util::fileExists(globalConfig) )
				if ( !config->readConfig(globalConfig, CS_USER_GLOBAL) ) return false;
		}
	}

	if ( CHECK_RANGE(CS_USER_APP, fromStage, toStage) ) {
		if ( Util::fileExists(appConfig) )
			if ( !config->readConfig(appConfig, CS_USER_APP) ) return false;
	}

	return true;
}