]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/packsource.h
Add an API to open files from a collection's sources
[libs/datafile.git] / source / packsource.h
index f552d2ab479ed952c47a04619b76d75bdde29e83..10e1433279aaa36dee9b1dda39938af5ab6a42b2 100644 (file)
@@ -77,7 +77,7 @@ private:
        public:
                File(const Pack &, const std::string &);
 
-               RefPtr<IO::Base> open() const;
+               RefPtr<IO::Seekable> open() const;
                const std::string &get_filename() const { return filename; }
                std::string get_full_name() const;
                bool is_collection() const { return collection; }
@@ -104,6 +104,7 @@ private:
        };
 
        std::list<Pack> packs;
+       FileMap files;
        ObjectMap objects;
 
 public:
@@ -117,6 +118,7 @@ public:
        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;
+       virtual IO::Seekable *open(const std::string &) const;
 };
 
 } // namespace DataFile