X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tool%2Fpacker.h;h=151947fbba945bd683017cf1389ff5e467278c3d;hb=52fb63aded47733fa67e871ce0bd360b9eea7468;hp=351b45d3109c59bea04fd790e1825e4ac055a839;hpb=57d8b8c6f07808efdd1b9647d12447c177ce1e7d;p=libs%2Fdatafile.git diff --git a/tool/packer.h b/tool/packer.h index 351b45d..151947f 100644 --- a/tool/packer.h +++ b/tool/packer.h @@ -17,20 +17,26 @@ private: std::string keyword; }; + typedef std::list ObjectList; + DataTool &tool; - Msp::IO::File *tmp_file; - Msp::IO::Buffered *tmp_buf; + Msp::IO::BufferedFile *tmp_file; std::list directory; unsigned dir_alloc; public: Packer(DataTool &); private: - static Msp::IO::File *tempfile(); + static Msp::IO::BufferedFile *tempfile(); public: ~Packer(); void pack_file(const std::string &); +private: + bool detect_data(Msp::IO::Seekable &); + void transfer_datafile(Msp::IO::Base &, const std::string &, Msp::IO::Base &, ObjectList &); + void transfer_unknown(Msp::IO::Base &, Msp::IO::Base &); +public: void create_pack(const std::string &); };