]> 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 cd82ece11e10f606ade3eea92a598da5373e9bdc..b1324a711d2ac6c7f8e489215589c39fc87b62f8 100644 (file)
@@ -13,17 +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;
 
-public:
-       DirectorySource();
+       ObjectMap objects;
 
-       void set_directory(const FS::Path &);
+public:
        void add_directory(const FS::Path &);
 
        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;
 };