--- /dev/null
+#ifndef PACKER_H_
+#define PACKER_H_
+
+#include <string>
+#include <msp/datafile/statement.h>
+#include <msp/io/buffered.h>
+#include <msp/io/file.h>
+
+class DataTool;
+
+class Packer
+{
+private:
+ struct Object
+ {
+ std::string name;
+ std::string keyword;
+ };
+
+ DataTool &tool;
+ Msp::IO::File *tmp_file;
+ Msp::IO::Buffered *tmp_buf;
+ std::list<Msp::DataFile::Statement> directory;
+ unsigned dir_alloc;
+
+public:
+ Packer(DataTool &);
+private:
+ static Msp::IO::File *tempfile();
+public:
+ ~Packer();
+
+ void pack_file(const std::string &);
+ void create_pack(const std::string &);
+};
+
+#endif