changed simulation manager
This commit is contained in:
@@ -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 "";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user