summaryrefslogtreecommitdiff
path: root/src/UriFileListParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/UriFileListParser.h')
-rw-r--r--src/UriFileListParser.h17
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;