X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdirectorycollection.h;h=a796054b43569d4892e919ec5a337c4daba25409;hb=8955db30f9cd1c1566b349da29e669f065f84e36;hp=54bf62a90079f9dc2f5a365c24ccdfc39c8a34d9;hpb=af9389e93274e91c35fffdd713bd469a4bfd3f2c;p=libs%2Fdatafile.git diff --git a/source/directorycollection.h b/source/directorycollection.h index 54bf62a..a796054 100644 --- a/source/directorycollection.h +++ b/source/directorycollection.h @@ -22,6 +22,10 @@ protected: void set_directory(const FS::Path &); void add_directory(const FS::Path &); + /** Examines the names of files in the designated directories and adds any + applicable ones as future objects. */ + void load_names(); + template CollectionItemType &add_type() { @@ -36,7 +40,10 @@ private: if(lookup_file(name, file)) { RefPtr item = new T; - load(*item, file.str()); + ItemLoader ldr(*item, *this); + IO::BufferedFile in(file.str()); + Parser parser(in, file.str()); + ldr.load(parser); return item.release(); } else