changed simulation manager

This commit is contained in:
robert
2014-04-10 01:06:04 +02:00
parent 7c31ee8ee1
commit 27e00659fa
9 changed files with 92 additions and 82 deletions

View File

@@ -1,6 +1,7 @@
#include "Utils.h"
#include <string>
#include <tlm.h>
#include <fstream>
using namespace std;
using namespace tinyxml2;
@@ -10,7 +11,6 @@ void reportFatal(std::string sender, std::string message)
SC_REPORT_FATAL(sender.c_str(), message.c_str());
}
std::string phaseNameToString(tlm::tlm_phase phase)
{
std::ostringstream oss;
@@ -19,7 +19,8 @@ std::string phaseNameToString(tlm::tlm_phase phase)
return str;
}
unsigned int queryUIntParameter(XMLElement* node, string name) {
unsigned int queryUIntParameter(XMLElement* node, string name)
{
int result;
XMLElement* element;
for (element = node->FirstChildElement("parameter"); element != NULL;
@@ -34,7 +35,7 @@ unsigned int queryUIntParameter(XMLElement* node, string name) {
}
}
reportFatal("Query XML","Parameter '" + name +"' does not exist.");
reportFatal("Query XML", "Parameter '" + name + "' does not exist.");
return 0;
}
@@ -52,7 +53,8 @@ bool parameterExists(tinyxml2::XMLElement* node, std::string name)
return false;
}
double queryDoubleParameter(XMLElement* node, string name) {
double queryDoubleParameter(XMLElement* node, string name)
{
double result;
XMLElement* element;
for (element = node->FirstChildElement("parameter"); element != NULL;
@@ -67,11 +69,12 @@ double queryDoubleParameter(XMLElement* node, string name) {
}
}
reportFatal("Query XML","Parameter '" + name +"' does not exist.");
reportFatal("Query XML", "Parameter '" + name + "' does not exist.");
return 0;
}
bool queryBoolParameter(XMLElement* node, string name) {
bool queryBoolParameter(XMLElement* node, string name)
{
bool result;
XMLElement* element;
for (element = node->FirstChildElement("parameter"); element != NULL;
@@ -86,11 +89,12 @@ bool queryBoolParameter(XMLElement* node, string name) {
}
}
reportFatal("Query XML","Parameter '" + name +"' does not exist.");
reportFatal("Query XML", "Parameter '" + name + "' does not exist.");
return 0;
}
string queryStringParameter(XMLElement* node, string name) {
string queryStringParameter(XMLElement* node, string name)
{
XMLElement* element;
for (element = node->FirstChildElement("parameter"); element != NULL;
element = element->NextSiblingElement("parameter"))
@@ -101,7 +105,7 @@ string queryStringParameter(XMLElement* node, string name) {
}
}
reportFatal("Query XML","Parameter '" + name +"' does not exist.");
reportFatal("Query XML", "Parameter '" + name + "' does not exist.");
return 0;
}
@@ -109,8 +113,29 @@ void loadXML(string uri, XMLDocument& doc)
{
XMLError error = doc.LoadFile(uri.c_str());
if (error) {
if (error)
{
reportFatal("Configuration", "Error loading xml from: " + uri);
}
}
string loadTextFileContents(string filename)
{
ifstream in(filename.c_str(), ios::in | ios::binary);
if (in)
{
string contents;
in.seekg(0, ios::end);
contents.resize(in.tellg());
in.seekg(0, ios::beg);
in.read(&contents[0], contents.size());
in.close();
return (contents);
}
else
{
reportFatal("Error loading file", "Could not load textfile from " + filename);
return "";
}
}