delete *i;
}
-void Collection::add_future(const std::string &name)
+void Collection::add_source(CollectionSource &s)
{
- if(items.count(name))
- throw key_error(typeid(ItemMap));
-
- for(TypeList::const_iterator i=types.begin(); i!=types.end(); ++i)
- if((*i)->match_name(name))
- {
- items.insert(ItemMap::value_type(name, (*i)->create_future()));
- return;
- }
-
- /* XXX throw something? If we do, DirectoryCollection needs some way to
- check if a name matches any item type. */
+ sources.push_back(&s);
}