diff options
author | André Nusser <andre.nusser@googlemail.com> | 2016-03-23 18:24:29 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2016-03-29 22:43:31 +0200 |
commit | ef1d7e4478649296ccb17900acc949a604097d66 (patch) | |
tree | 52660b7d9d96b8bef165429c50c2a89084cae141 /src/instrumentparser.cc | |
parent | 390f6f094d43f0d8cfca4efff13d002eb4cf6f19 (diff) |
Do the file related actions in SAXParser.
Diffstat (limited to 'src/instrumentparser.cc')
-rw-r--r-- | src/instrumentparser.cc | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/src/instrumentparser.cc b/src/instrumentparser.cc index 8c3c737..268f8f3 100644 --- a/src/instrumentparser.cc +++ b/src/instrumentparser.cc @@ -35,26 +35,17 @@ #include "nolocale.h" -InstrumentParser::InstrumentParser(const std::string& file, Instrument& i) +InstrumentParser::InstrumentParser(Instrument& i) : instrument(i) { - // DEBUG(instrparser,"Parsing instrument in %s\n", file.c_str()); - path = getPath(file); - fd = fopen(file.c_str(), "r"); - if(!fd) - { - ERR(instrparser, "The following instrument file could not be opened: %s\n", file.c_str()); - return; - } } -InstrumentParser::~InstrumentParser() +int InstrumentParser::parseFile(const std::string& filename) { - if(fd) - { - fclose(fd); - } + path = getPath(filename); + + return SAXParser::parseFile(filename); } void InstrumentParser::startTag(const std::string& name, const attr_t& attr) @@ -233,16 +224,3 @@ void InstrumentParser::endTag(const std::string& name) instrument.finalise(); } } - -int InstrumentParser::readData(std::string& data, std::size_t size) -{ - if(!fd) - { - return -1; - } - - data.resize(size); - auto nr_of_bytes_read = fread((void*)data.data(), 1, size, fd); - data.resize(nr_of_bytes_read); - return nr_of_bytes_read; -} |