]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/directorysource.h
Cosmetic changes
[libs/datafile.git] / source / directorysource.h
index cd82ece11e10f606ade3eea92a598da5373e9bdc..654906565eeb839dd4991070bfb59629ee68f3e5 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 &);
-       void add_directory(const FS::Path &);
+public:
+       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;
+       bool is_loadable(const CollectionItemTypeBase &, const std::string &) const override;
+       NameList get_names(const CollectionItemTypeBase &) const override;
+       void load(Collection &, const CollectionItemTypeBase &, const std::string &) const override;
+       IO::Seekable *open(const std::string &) const override;
 
        bool lookup_file(const std::string &, FS::Path &) const;
 };