]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/directorysource.h
Add a flag to control replacement of DirectorySource entries
[libs/datafile.git] / source / directorysource.h
index 0710225cc519a6f8eb87c01101c563136b904899..660d4e823fab6364ada247dff9a9518d0a04dcfa 100644 (file)
@@ -13,14 +13,17 @@ A source that load items from files in a directory.
 class DirectorySource: public CollectionSource
 {
 private:
-       std::list<FS::Path> dirs;
+       typedef std::map<std::string, FS::Path> ObjectMap;
+
+       ObjectMap objects;
 
 public:
-       void add_directory(const FS::Path &);
+       void add_directory(const FS::Path &, bool = true);
 
        virtual bool is_loadable(const CollectionItemTypeBase &, const std::string &) const;
        virtual NameList get_names(const CollectionItemTypeBase &) const;
        virtual void load(Collection &, const CollectionItemTypeBase &, const std::string &) const;
+       virtual IO::Seekable *open(const std::string &) const;
 
        bool lookup_file(const std::string &, FS::Path &) const;
 };