当前位置: 首页>>代码示例>>C++>>正文


C++ ConfigFile::LoadFile方法代码示例

本文整理汇总了C++中ConfigFile::LoadFile方法的典型用法代码示例。如果您正苦于以下问题:C++ ConfigFile::LoadFile方法的具体用法?C++ ConfigFile::LoadFile怎么用?C++ ConfigFile::LoadFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ConfigFile的用法示例。


在下文中一共展示了ConfigFile::LoadFile方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testLoadPackagedSetup

void ConfigFileUnitTests::testLoadPackagedSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\PackagedSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations properties
    CPPUNIT_ASSERT(! config.schema.generator.empty());
    CPPUNIT_ASSERT(! config.schema.version.empty());
    CPPUNIT_ASSERT(config.lcidtype == DVLib::LcidUserExe);
    CPPUNIT_ASSERT(config.uilevel == InstallUILevelFull);
    CPPUNIT_ASSERT(config.fileversion == L"1.0.0.1");
    CPPUNIT_ASSERT(config.productversion == L"1.0.0.0");
    // file attributes
    CPPUNIT_ASSERT(config.fileattributes.size() == 4);
    CPPUNIT_ASSERT(config.fileattributes[L"FileDescription"]->name == L"FileDescription");
    CPPUNIT_ASSERT(config.fileattributes[L"FileDescription"]->value == L"Standalone setup sample");
    // configurations with components
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 1);
    ComponentPtr component = configuration->components[0];
    CPPUNIT_ASSERT(component->type == component_type_msi);
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:25,代码来源:ConfigFileUnitTests.cpp

示例2: testLoadMultipleSetup

void ConfigFileUnitTests::testLoadMultipleSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\MultipleConfig\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations properties
    CPPUNIT_ASSERT(config.size() == 2);	
    // install sequence
    std::vector<ConfigurationPtr> install_configurations = config.GetSupportedConfigurations(LcidUser, SequenceInstall);
    CPPUNIT_ASSERT(configuration_reference == install_configurations[0]->type);
    CPPUNIT_ASSERT(configuration_install == install_configurations[1]->type);
    InstallConfiguration * p_configuration_install = reinterpret_cast<InstallConfiguration *>(get(install_configurations[1]));
    Components install_components = p_configuration_install->GetSupportedComponents(LcidUser, SequenceInstall);
    CPPUNIT_ASSERT(install_components.size() == 2);
    CPPUNIT_ASSERT(install_components[0]->id == L"setup1");
    CPPUNIT_ASSERT(install_components[1]->id == L"setup2");
    Components uninstall_components = p_configuration_install->GetSupportedComponents(LcidUser, SequenceUninstall);
    CPPUNIT_ASSERT(uninstall_components.size() == 2);
    CPPUNIT_ASSERT(uninstall_components[0]->id == L"setup2");
    CPPUNIT_ASSERT(uninstall_components[1]->id == L"setup1");
    std::vector<ConfigurationPtr> uninstall_configurations = config.GetSupportedConfigurations(LcidUser, SequenceUninstall);
    CPPUNIT_ASSERT(configuration_install == uninstall_configurations[0]->type);
    CPPUNIT_ASSERT(configuration_reference == uninstall_configurations[1]->type);	
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:26,代码来源:ConfigFileUnitTests.cpp

示例3: testLoadInstallCheckOperators

void ConfigFileUnitTests::testLoadInstallCheckOperators()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\InstallCheckOperators\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations properties
    CPPUNIT_ASSERT(! config.schema.generator.empty());
    CPPUNIT_ASSERT(! config.schema.version.empty());
    CPPUNIT_ASSERT(config.lcidtype == DVLib::LcidUserExe);
    CPPUNIT_ASSERT(config.uilevel == InstallUILevelFull);
    CPPUNIT_ASSERT(config.fileversion == L"1.0.0.0");
    CPPUNIT_ASSERT(config.productversion == L"1.0.0.0");
    // file attributes
    CPPUNIT_ASSERT(config.fileattributes.size() == 1);
    CPPUNIT_ASSERT(config.fileattributes[L"FileDescription"]->name == L"FileDescription");
    CPPUNIT_ASSERT(config.fileattributes[L"FileDescription"]->value == L"InstallCheckOperators setup sample");
    // configurations with components
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 4);
    CPPUNIT_ASSERT(configuration->components[0]->type == component_type_cmd);
    CPPUNIT_ASSERT(configuration->components[1]->type == component_type_cmd);
    CPPUNIT_ASSERT(configuration->components[2]->type == component_type_cmd);
    CPPUNIT_ASSERT(configuration->components[3]->type == component_type_cmd);
    // \todo: verify that operators tree is correct
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:28,代码来源:ConfigFileUnitTests.cpp

示例4: testLoadDownloadSetup

void ConfigFileUnitTests::testLoadDownloadSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\DownloadSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations properties
    CPPUNIT_ASSERT(! config.schema.generator.empty());
    CPPUNIT_ASSERT(! config.schema.version.empty());
    CPPUNIT_ASSERT(config.lcidtype == DVLib::LcidUserExe);
    CPPUNIT_ASSERT(config.uilevel == InstallUILevelFull);
    CPPUNIT_ASSERT(config.fileversion == L"1.0.0.0");
    CPPUNIT_ASSERT(config.productversion == L"1.0.0.0");
    // file attributes
    CPPUNIT_ASSERT(config.fileattributes.size() == 0);
    // configurations with components
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 1);
    ComponentPtr component = configuration->components[0];
    CPPUNIT_ASSERT(component->type == component_type_cmd);
    // the component has a download dialog with one file
    CPPUNIT_ASSERT(get(component->downloaddialog) != NULL);
    CPPUNIT_ASSERT(component->downloaddialog->downloadfiles.size() == 1);
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:26,代码来源:ConfigFileUnitTests.cpp

示例5: testGetSupportedConfigurations

void ConfigFileUnitTests::testGetSupportedConfigurations()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\StandaloneSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // there're two configurations in this sample, opposite of each other
    CPPUNIT_ASSERT(config.GetSupportedConfigurations(0, SequenceInstall).size() == 1);
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:10,代码来源:ConfigFileUnitTests.cpp

示例6: testLoadMultilingualSetup

void ConfigFileUnitTests::testLoadMultilingualSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\MultilingualSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // there're two configurations in this sample, but only 1 will show because the lcids don't overlap
    CPPUNIT_ASSERT(config.size() == 2);
    CPPUNIT_ASSERT(config.GetSupportedConfigurations(0, SequenceInstall).size() == 1);
    CPPUNIT_ASSERT(config.GetSupportedConfigurations(1040, SequenceInstall).size() == 1);
    CPPUNIT_ASSERT(config.GetSupportedConfigurations(1040, SequenceInstall)[0]->lcid_filter == L"1040");
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:13,代码来源:ConfigFileUnitTests.cpp

示例7: testLoadOsFiltersSetup

void ConfigFileUnitTests::testLoadOsFiltersSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\OsFilters\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // there're three components in this sample, but only 1 will show because the os filters don't overlap
    CPPUNIT_ASSERT(config.size() == 1);
    CPPUNIT_ASSERT(config.GetSupportedConfigurations(0, SequenceInstall).size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 3);	
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:13,代码来源:ConfigFileUnitTests.cpp

示例8: testLoadExeSetup

void ConfigFileUnitTests::testLoadExeSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\ExeSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations with components
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 1);
    ComponentPtr component_exe = configuration->components[0];
    CPPUNIT_ASSERT(component_exe->type == component_type_exe);	
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:14,代码来源:ConfigFileUnitTests.cpp

示例9: try_load_config_file

static bool try_load_config_file (const char *fname, ConfigFile &conf)
{
	FSTREAM	fp;

	fp = OPEN_FSTREAM(fname, "r");
	if (fp)
	{
		fprintf(stdout, "Reading config file %s.\n", fname);
		conf.LoadFile(new fStream(fp));
        CLOSE_FSTREAM(fp);
		return (true);
	}

	return (false);
}
开发者ID:7sevenx7,项目名称:snes9x,代码行数:15,代码来源:snes9x.cpp

示例10: testLoadLicenseAgreement

void ConfigFileUnitTests::testLoadLicenseAgreement()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\LicenseAgreement\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // there's one configuration in this sample
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 1);
    CPPUNIT_ASSERT(configuration->controls.size() == 2);
    CPPUNIT_ASSERT(configuration->controls[0]->type == control_type_license);
    CPPUNIT_ASSERT(configuration->controls[1]->type == control_type_image);
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:15,代码来源:ConfigFileUnitTests.cpp

示例11: try_load_config_file

static bool try_load_config_file (const char *fname, ConfigFile &conf)
{
	LOG_DBG("try_load_config_file(%s)", fname);
	FILE * fp;

	fp = fopen(fname, "r");
	if (fp)
	{
		fprintf(stdout, "Reading config file %s.\n", fname);
		conf.LoadFile(new fReader(fp));
		fclose(fp);
	}

	return (false);
}
开发者ID:cdenix,项目名称:fceu-ps3,代码行数:15,代码来源:emulator_implementation.cpp

示例12: testLoadCustomInputSetup

void ConfigFileUnitTests::testLoadCustomInputSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\CustomInputSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // there's one configuration in this sample
    CPPUNIT_ASSERT(config.size() == 1);
    const InstallConfiguration * configuration = reinterpret_cast<InstallConfiguration *>(get(config[0]));
    CPPUNIT_ASSERT(configuration->components.size() == 1);
    CPPUNIT_ASSERT(configuration->controls.size() == 6);
    CPPUNIT_ASSERT(configuration->controls[0]->type == control_type_label);
    CPPUNIT_ASSERT(configuration->controls[1]->type == control_type_label);
    CPPUNIT_ASSERT(configuration->controls[2]->type == control_type_checkbox);
    CPPUNIT_ASSERT(configuration->controls[3]->type == control_type_browse);
    CPPUNIT_ASSERT(configuration->controls[4]->type == control_type_browse);
    CPPUNIT_ASSERT(configuration->controls[5]->type == control_type_hyperlink);
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:19,代码来源:ConfigFileUnitTests.cpp

示例13: testLoadStandaloneSetup

void ConfigFileUnitTests::testLoadStandaloneSetup()
{
    std::wstring configxml = DVLib::DirectoryCombine(DVLib::GetModuleDirectoryW(), 
        L"..\\..\\..\\Samples\\StandaloneSetup\\Configuration.xml");
    CPPUNIT_ASSERT(DVLib::FileExists(configxml));
    ConfigFile config;
    config.LoadFile(configxml);
    // configurations properties
    CPPUNIT_ASSERT(! config.schema.generator.empty());
    CPPUNIT_ASSERT(! config.schema.version.empty());
    CPPUNIT_ASSERT(config.lcidtype == DVLib::LcidUserExe);
    CPPUNIT_ASSERT(config.uilevel == InstallUILevelFull);
    CPPUNIT_ASSERT(config.fileversion == L"1.0.0.0");
    CPPUNIT_ASSERT(config.productversion == L"1.0.0.0");
    // file attributes
    CPPUNIT_ASSERT(config.fileattributes.size() == 0);
    // configurations with components
    CPPUNIT_ASSERT(config.size() == 2);
    // \todo: verify that lcid's are different
}
开发者ID:DebdutBiswas,项目名称:dotnetinstaller,代码行数:20,代码来源:ConfigFileUnitTests.cpp

示例14: LoadShader

bool CCGShader::LoadShader(const char *path)
{
	ConfigFile conf;
	int shaderCount;
	char keyName[100];

	shaderPasses.clear();
	lookupTextures.clear();

	if(strlen(path)<4 || strcasecmp(&path[strlen(path)-4],".cgp")) {
		shaderPass pass;
		pass.scaleParams.scaleTypeX = CG_SCALE_NONE;
		pass.scaleParams.scaleTypeY = CG_SCALE_NONE;
		pass.linearFilter = false;
		pass.filterSet = false;
		strcpy(pass.cgShaderFile,path);
		shaderPasses.push_back(pass);
		return true;
	} else {
		conf.LoadFile(path);
	}	

	shaderCount = conf.GetInt("::shaders",0);

	if(shaderCount<1)
		return false;

	for(int i=0;i<shaderCount;i++) {
		shaderPass pass;
		sprintf(keyName,"::filter_linear%u",i);
		pass.linearFilter = conf.GetBool(keyName);
		pass.filterSet = conf.Exists(keyName);

		sprintf(keyName,"::scale_type%u",i);
		const char *scaleType = conf.GetString(keyName,"");
		if(!strcasecmp(scaleType,"")) {
			sprintf(keyName,"::scale_type_x%u",i);
			const char *scaleTypeX = conf.GetString(keyName,"");
			if(*scaleTypeX=='\0' && (i!=(shaderCount-1)))
				scaleTypeX = "source";
			pass.scaleParams.scaleTypeX = scaleStringToEnum(scaleTypeX);
			sprintf(keyName,"::scale_type_y%u",i);
			const char *scaleTypeY = conf.GetString(keyName,"");
			if(*scaleTypeY=='\0' && (i!=(shaderCount-1)))
				scaleTypeY = "source";
			pass.scaleParams.scaleTypeY = scaleStringToEnum(scaleTypeY);
		} else {
			cgScaleType sType = scaleStringToEnum(scaleType);
			pass.scaleParams.scaleTypeX = sType;
			pass.scaleParams.scaleTypeY = sType;
		}

		sprintf(keyName,"::scale%u",i);
		const char *scaleFloat = conf.GetString(keyName,"");
		int scaleInt = conf.GetInt(keyName,0);
		if(!strcasecmp(scaleFloat,"")) {
			sprintf(keyName,"::scalex%u",i);
			const char *scaleFloatX = conf.GetString(keyName,"1.0");
			pass.scaleParams.scaleX = atof(scaleFloatX);
			pass.scaleParams.absX = conf.GetInt(keyName,1);
			sprintf(keyName,"::scaley%u",i);
			const char *scaleFloatY = conf.GetString(keyName,"1.0");
			pass.scaleParams.scaleY = atof(scaleFloatY);
			pass.scaleParams.absY = conf.GetInt(keyName,1);

		} else {
			float floatval = atof(scaleFloat);
			pass.scaleParams.scaleX = floatval;
			pass.scaleParams.absX = scaleInt;
			pass.scaleParams.scaleY = floatval;
			pass.scaleParams.absY = scaleInt;
		}

		sprintf(keyName,"::shader%u",i);
		strcpy(pass.cgShaderFile,conf.GetString(keyName,""));
		shaderPasses.push_back(pass);
	}

	char *shaderIds = conf.GetStringDup("::textures","");

	char *id = strtok(shaderIds,";");
	while(id!=NULL) {
		lookupTexture tex;
		sprintf(keyName,"::%s",id);
		strcpy(tex.id,id);
		strcpy(tex.texturePath,conf.GetString(keyName,""));
		sprintf(keyName,"::%s_linear",id);
		tex.linearfilter = conf.GetBool(keyName,true);
		lookupTextures.push_back(tex);
		id = strtok(NULL,";");
	}

	free(shaderIds);

	return true;
}
开发者ID:GeoffreyPlitt,项目名称:snes9x-sdl,代码行数:96,代码来源:CCGShader.cpp


注:本文中的ConfigFile::LoadFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。