]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/directorysource.cpp
Add a flag to control replacement of DirectorySource entries
[libs/datafile.git] / source / directorysource.cpp
index 4bf9f5cd3d12b0808f288b9e3cd647a5ee0db682..207f30d0e31716c310f0927b82f5ba14fe456b6a 100644 (file)
@@ -8,11 +8,14 @@ using namespace std;
 namespace Msp {
 namespace DataFile {
 
-void DirectorySource::add_directory(const FS::Path &d)
+void DirectorySource::add_directory(const FS::Path &d, bool replace)
 {
        list<string> files = FS::list_files(d);
        for(list<string>::const_iterator i=files.begin(); i!=files.end(); ++i)
-               objects[*i] = d / *i;
+       {
+               if(!objects.count(*i) || replace)
+                       objects[*i] = d / *i;
+       }
 }
 
 bool DirectorySource::is_loadable(const CollectionItemTypeBase &, const string &name) const