示例#1
0
void pluginManagerTest() {
	sout << "### PluginManager Test ###" << std::endl << std::endl;

	PluginManager* man = new PluginManager(MODULE_DIR);

	ParameterFile file;
	// setup a dummy module that gets data from dynamic dummy module
	file.set("dynamic.type", "dynamicdummymodule");
	file.set("dummy.type", "dummymodule");
	file.set("dynamic.input", 0);
	file.set("dynamic.output", 1);
	file.set("dynamic.out1", "dummy.in");
	file.set("dummy.in", "dynamic.out1");

	man->loadParameterFile(file);

	sout << std::endl;
	man->runWorkflow();
	sout << std::endl;

	sout << "~~~~~~~" << std::endl;
	
	// add dynamic dummy module and connect it to first dynamic module
	file.set("dynamic2.type", "dynamicdummymodule");
	file.set("dynamic.input", 2);
	file.set("dynamic2.input", 0);
	file.set("dynamic2.output", 2);
	file.set("dynamic2.parameters", 5);
	file.set("dynamic2.param4", 999);
	file.set("dynamic.in1", "dynamic2.out1");
	file.set("dynamic2.out1", "dynamic.in1");
	file.set("dynamic.in2", "dynamic2.out2");
	file.set("dynamic2.out2", "dynamic.in2");

	man->loadParameterFile(file);

	sout << std::endl;
	man->runWorkflow();
	sout << std::endl;

	delete man;

	sout << std::endl << "### End of Test ###" << std::endl << std::endl;
}