bool parseConfigs(int argc, char **argv) { ArgsParser& ap = ArgsParser::getInstance(); ModuleConnector& module_connector = ModuleConnector::getInstance(); po::options_description simDesc(simulationClass->moduleGetName()); simulationClass->moduleRegisterHelp(simDesc); ap.addOptions(simDesc); po::options_description initDesc(initClass->moduleGetName()); initClass->moduleRegisterHelp(initDesc); ap.addOptions(initDesc); po::options_description analyserDesc(analyserClass->moduleGetName()); analyserClass->moduleRegisterHelp(analyserDesc); ap.addOptions(analyserDesc); // setup all boost::program_options and add to ArgsParser BoostOptionsList options = module_connector.registerHelp(); for (BoostOptionsList::const_iterator iter = options.begin(); iter != options.end(); ++iter) { ap.addOptions(*iter); } // parse environment variables, config files and command line return ap.parse(argc, argv); }
ArgsParser::ArgsErrorCode parseConfigs(int argc, char **argv) { ArgsParser& ap = ArgsParser::getInstance(); PluginConnector& pluginConnector = Environment<>::get().PluginConnector(); po::options_description simDesc(simulationClass->pluginGetName()); simulationClass->pluginRegisterHelp(simDesc); ap.addOptions(simDesc); po::options_description initDesc(initClass->pluginGetName()); initClass->pluginRegisterHelp(initDesc); ap.addOptions(initDesc); po::options_description pluginDesc(pluginClass->pluginGetName()); pluginClass->pluginRegisterHelp(pluginDesc); ap.addOptions(pluginDesc); // setup all boost::program_options and add to ArgsParser BoostOptionsList options = pluginConnector.registerHelp(); for (BoostOptionsList::const_iterator iter = options.begin(); iter != options.end(); ++iter) { ap.addOptions(*iter); } // parse environment variables, config files and command line return ap.parse(argc, argv); }
void pluginLoad() { simulationClass->load(); mappingDesc = simulationClass->getMappingDescription(); pluginClass->setMappingDescription(mappingDesc); initClass->setMappingDescription(mappingDesc); }
void moduleLoad() { simulationClass->load(); mappingDesc = simulationClass->getMappingDescription(); analyserClass->setMappingDescription(mappingDesc); initClass->setMappingDescription(mappingDesc); }
virtual void start() { PluginConnector& pluginConnector = Environment<>::get().PluginConnector(); pluginConnector.loadPlugins(); log<picLog::SIMULATION_STATE > ("Startup"); simulationClass->setInitController(initClass); simulationClass->startSimulation(); }
virtual void start() { ModuleConnector& module_connector = ModuleConnector::getInstance(); module_connector.loadModules(); log<picLog::SIMULATION_STATE > ("Startup"); simulationClass->setInitController(initClass); simulationClass->startSimulation(); }
SimulationStarter() : mappingDesc(nullptr) { simulationClass = new SimulationClass(); initClass = new InitClass(); simulationClass->setInitController(initClass); pluginClass = new PluginClass(); }
SimulationStarter() : mappingDesc(NULL) { simulationClass = new SimulationClass(); initClass = new InitClass(); simulationClass->setInitController(initClass); analyserClass = new AnalyserClass(); }
void pluginUnload() { PluginConnector& pluginConnector = Environment<>::get().PluginConnector(); pluginConnector.unloadPlugins(); initClass->unload(); pluginClass->unload(); simulationClass->unload(); }
void moduleUnload() { ModuleConnector& module_connector = ModuleConnector::getInstance(); module_connector.unloadModules(); initClass->unload(); analyserClass->unload(); simulationClass->unload(); }
void saveSimulationData(int option, SimulationClass &s) { fstream file; switch(option) { case 0: /* * Data file structure: * * time of running * number of energy points */ try { file.open("/home/afro/Dokumenty/Praca Inżynierska/Kody/eP_t.txt", ios::out | ios::app); file << s.countEnergyPoints() << endl; file << s.getRunningTime() << endl; file.close(); } catch(string str) { cout << "Error: " << str << endl; } break; case 1: /* * Data file structure: * * time of running * number of nodes */ try { file.open("/home/afro/Dokumenty/Praca Inżynierska/Kody/t_N.txt", ios::out | ios::app); file << s.getRunningTime() << endl; file << s.getAmountOfNodes() << endl; file.close(); } catch(string str) { cout << "Error: " << str << endl; } break; case 2: /* * Data file structure: * * number of energy points * number of nodes */ try { file.open("/home/afro/Dokumenty/Praca Inżynierska/Kody/eP_N.txt", ios::out | ios::app); file << s.countEnergyPoints() << endl; file << s.getAmountOfNodes() << endl; file.close(); } catch(string str) { cout << "Error: " << str << endl; } break; } }