#include <msp/fs/path.h>
#include "collectionsource.h"
+#include "mspdatafile_api.h"
namespace Msp {
namespace DataFile {
/**
A source that load items from files in a directory.
*/
-class DirectorySource: public CollectionSource
+class MSPDATAFILE_API DirectorySource: public CollectionSource
{
private:
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;
+ 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;
};