]> git.tdb.fi Git - libs/datafile.git/commitdiff
Provide help for datatool's command line options
authorMikko Rasa <tdb@tdb.fi>
Sun, 19 Oct 2014 13:00:27 +0000 (16:00 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 19 Oct 2014 13:00:27 +0000 (16:00 +0300)
Also use add_argument instead of the deprecated get_args.

tool/tool.cpp
tool/tool.h

index a82d5875f2a40630cfc1252f5a99ac920bdfc60c..d58853eef5cbf519228e1fa7a0401811173db6df 100644 (file)
@@ -21,16 +21,16 @@ DataTool::DataTool(int argc, char **argv):
        debug(false)
 {
        GetOpt getopt;
-       getopt.add_option('b', "binary", binary, GetOpt::NO_ARG);
-       getopt.add_option('c', "compile", compile, GetOpt::NO_ARG);
-       getopt.add_option('f', "float-size", float_size, GetOpt::REQUIRED_ARG);
-       getopt.add_option('g', "debug", debug, GetOpt::NO_ARG);
-       getopt.add_option('o', "output", out_fn, GetOpt::REQUIRED_ARG);
-       getopt.add_option('p', "pack", pack, GetOpt::NO_ARG);
-       getopt.add_option('z', "compress", compress, GetOpt::NO_ARG);
+       getopt.add_option('b', "binary", binary, GetOpt::NO_ARG).set_help("Produce a binary datafile");
+       getopt.add_option('c', "compile", compile, GetOpt::NO_ARG).set_help("Create a collection based on a template file");
+       getopt.add_option('f', "float-size", float_size, GetOpt::REQUIRED_ARG).set_help("Floating-point precision", "BITS");
+       getopt.add_option('g', "debug", debug, GetOpt::NO_ARG).set_help("Display control statements");
+       getopt.add_option('o', "output", out_fn, GetOpt::REQUIRED_ARG).set_help("Output to a file instead of stdout", "FILE");
+       getopt.add_option('p', "pack", pack, GetOpt::NO_ARG).set_help("Create a pack from multiple files");
+       getopt.add_option('z', "compress", compress, GetOpt::NO_ARG).set_help("Produce a compressed datafile");
+       getopt.add_argument("infile", in_fns, GetOpt::OPTIONAL_ARG).set_help("Files to process");
        getopt(argc, argv);
 
-       in_fns = getopt.get_args();
        if(in_fns.empty())
                in_fns.push_back("-");
 
@@ -55,7 +55,7 @@ void DataTool::do_transfer()
        IO::Base *out = open_output(out_fn);
        DataFile::Writer *writer = create_writer(*out);
 
-       for(vector<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
+       for(list<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
        {
                IO::Base *in = open_input(*i);
                DataFile::Parser parser(*in, *i);
@@ -80,7 +80,7 @@ void DataTool::do_compile()
        DataFile::Writer *writer = create_writer(*out);
 
        Compiler compiler(*writer);
-       for(vector<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
+       for(list<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
        {
                IO::Base *in = open_input(*i);
                DataFile::Parser parser(*in, *i);
@@ -95,7 +95,7 @@ void DataTool::do_compile()
 void DataTool::do_pack()
 {
        Packer packer(*this);
-       for(vector<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
+       for(list<string>::const_iterator i=in_fns.begin(); i!=in_fns.end(); ++i)
                packer.pack_file(*i);
        packer.create_pack(out_fn);
 }
index a682d01781502bdd6a2fd452b3d16683cddfe87b..e33c954d81a147ecd64deba183db97e61ea406c3 100644 (file)
@@ -8,7 +8,7 @@
 class DataTool: public Msp::RegisteredApplication<DataTool>
 {
 private:
-       std::vector<std::string> in_fns;
+       std::list<std::string> in_fns;
        std::string out_fn;
        bool binary;
        bool compile;