]> Creatis software - creaImageIO.git/blob - appli/gimmick/main.cxx
516dfd45c312412751fe82ef6a9ce37e95fbc743
[creaImageIO.git] / appli / gimmick / main.cxx
1 #include <creaImageIOGimmick.h>
2 #include <creaMessageManager.h>
3 #include <gimmick_ggo.h>
4
5 int main(int argc, char* argv[])
6 {
7   gengetopt_args_info args;
8   if (cmdline_parser (argc, argv, &args) != 0) exit(1) ;
9      
10   creaImageIO::Gimmick g;
11   if (args.verbose_given) g.SetMessageLevel(args.verbose_arg);
12     
13   bool something_to_do = 
14     args.dir_given |
15     args.file_given |
16     args.print_given;
17
18   if (!something_to_do)
19     {
20       std::cout << "Nothing to do !" << std::endl;
21       exit(0);
22     }
23
24   try
25     {
26       if (!g.Initialize()) return 1;
27       
28       if (args.file_given) 
29         {
30           g.AddFileToLocalDatabase(args.file_arg);
31         }
32       if (args.dir_given) 
33         {
34           g.AddDirToLocalDatabase(args.dir_arg, args.recurse_given);
35         }
36       
37       if (args.print_given) 
38         {
39           g.GetLocalDatabase()->LoadChildren(0,0);
40           g.PrintLocalDatabase();
41         }
42       
43       if (!g.Finalize()) return 1;
44     }
45   catch (crea::Exception e)
46     {
47       e.Print();
48     }
49   return 0;
50 }