]> Creatis software - creaImageIO.git/blob - appli/gimmick/main.cxx
*** empty log message ***
[creaImageIO.git] / appli / gimmick / main.cxx
1 #include <creaImageIOGimmick.h>
2 #include <creaMessageManager.h>
3 #include <gimmick_ggo.h>
4
5
6 int main(int argc, char* argv[])
7 {
8
9   gengetopt_args_info args;
10   if (cmdline_parser (argc, argv, &args) != 0) return 0 ;
11      
12   creaImageIO::Gimmick g;
13   if (args.verbose_given) g.SetMessageLevel(args.verbose_arg);
14   if (args.debug_given) g.SetDebugMessageLevel(args.debug_arg);
15     
16   bool something_to_do = 
17     args.dir_given |
18     args.file_given |
19     args.print_given;
20
21   if (!something_to_do)
22     {
23       std::cout << "Nothing to do !" << std::endl;
24       return 0;
25     }
26
27   std::string handler("Local database");
28   try
29     {
30       g.Initialize();
31       
32       if (args.file_given) 
33         {
34           std::vector<std::string> files;
35           // TO DO : multiple files given
36           files.push_back(args.file_arg);
37           g.AddFiles(handler,files);
38         }
39       if (args.dir_given) 
40         {
41           g.AddDir(handler,args.dir_arg, args.recurse_given);
42         }
43       
44       if (args.print_given) 
45         {
46           g.GetTreeHandler(handler)->LoadChildren(0,0);
47           g.Print(handler);
48         }
49       
50       g.Finalize();
51     }
52   catch (crea::Exception e)
53     {
54       e.Print();
55     }
56
57   return 0;
58 }