]> git.tdb.fi Git - libs/datafile.git/blobdiff - tool/tool.h
Add an unpack option to the data tool
[libs/datafile.git] / tool / tool.h
index 99e8297770ef9fd6cfd6a6e12c0f9cf0a2e680c4..88f849bbea956667902291d36ce02003d2829e0e 100644 (file)
@@ -1,22 +1,36 @@
-/* $Id$
-
-This file is part of libmspdatafile
-Copyright © 2008  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
+#ifndef TOOL_H_
+#define TOOL_H_
 
 #include <string>
 #include <msp/core/application.h>
+#include <msp/datafile/writer.h>
 
-class DataTool: public Msp::Application
+class DataTool: public Msp::RegisteredApplication<DataTool>
 {
 private:
-       std::string in_fn;
+       std::list<std::string> in_fns;
        std::string out_fn;
        bool binary;
+       bool compile;
+       unsigned float_size;
+       bool compress;
+       bool pack;
+       bool unpack;
+       bool debug;
+
 public:
        DataTool(int argc, char **argv);
-       int main();
 
-       static Application::RegApp<DataTool> reg;
+       virtual int main();
+private:
+       void do_transfer();
+       void do_compile();
+       void do_pack();
+       void do_unpack();
+       Msp::IO::Base *open_output(const std::string &);
+       Msp::IO::Base *open_input(const std::string &);
+public:
+       Msp::DataFile::Writer *create_writer(Msp::IO::Base &);
 };
+
+#endif