]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/directorysource.h
Add an API to open files from a collection's sources
[libs/datafile.git] / source / directorysource.h
index 0710225cc519a6f8eb87c01101c563136b904899..b1324a711d2ac6c7f8e489215589c39fc87b62f8 100644 (file)
@@ -13,7 +13,9 @@ 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 &);
@@ -21,6 +23,7 @@ public:
        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;
 };