diff options
Diffstat (limited to 'src/UriFileListParser.h')
| -rw-r--r-- | src/UriFileListParser.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/UriFileListParser.h b/src/UriFileListParser.h index a25a2ae0..83f720d2 100644 --- a/src/UriFileListParser.h +++ b/src/UriFileListParser.h @@ -41,9 +41,22 @@ class UriFileListParser { private: string _filename; - ifstream _ifs; + istream* _ifs; + bool _deleteOnExit; public: - UriFileListParser(const string& filename):_filename(filename), _ifs(filename.c_str()) {} + UriFileListParser(const string& filename):_filename(filename), _ifs(new ifstream(filename.c_str())), _deleteOnExit(true) {} + + UriFileListParser():_ifs(0) {} + + UriFileListParser(istream& ifs):_filename("-"), _ifs(&ifs), _deleteOnExit(false) + {} + + ~UriFileListParser() + { + if(_deleteOnExit) { + delete _ifs; + } + } bool hasNext() const; |
