#include "scratchApi.h" ReturnValue_t scratch::writeString(std::string name, std::string string) { std::ostringstream oss; oss << "xsc_scratch write " << name << " \"" << string << "\""; int result = std::system(oss.str().c_str()); if (result != 0) { utility::handleSystemError(result, "scratch::writeString"); return returnvalue::FAILED; } return returnvalue::OK; } ReturnValue_t scratch::readString(std::string key, std::string &string) { std::ifstream file; std::string filename; ReturnValue_t result = readToFile(key, file, filename); if (result != returnvalue::OK) { return result; } std::string line; if (not std::getline(file, line)) { std::remove(filename.c_str()); return returnvalue::FAILED; } size_t pos = line.find("="); if (pos == std::string::npos) { sif::warning << "scratch::readNumber: Output file format invalid, " "no \"=\" found" << std::endl; // Could not find value std::remove(filename.c_str()); return KEY_NOT_FOUND; } string = line.substr(pos + 1); return returnvalue::OK; } ReturnValue_t scratch::clearValue(std::string key) { std::ostringstream oss; oss << "xsc_scratch clear " << key; int result = std::system(oss.str().c_str()); if (result != 0) { utility::handleSystemError(result, "scratch::clearValue"); return returnvalue::FAILED; } return returnvalue::OK; }