]> Creatis software - creaImageIO.git/blob - appli/gimmick/main.cxx
a39b1e2d2f13c998eee0592ac9e95f6f8b1dab5e
[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   if (args.debug_given) g.SetDebugMessageLevel(args.debug_arg);
13     
14   bool something_to_do = 
15     args.dir_given |
16     args.file_given |
17     args.print_given;
18
19   if (!something_to_do)
20     {
21       std::cout << "Nothing to do !" << std::endl;
22       exit(0);
23     }
24
25   std::string handler("Local database");
26   try
27     {
28       g.Initialize();
29       
30       if (args.file_given) 
31         {
32           std::vector<std::string> files;
33           // TO DO : multiple files given
34           files.push_back(args.file_arg);
35           g.AddFiles(handler,files);
36         }
37       if (args.dir_given) 
38         {
39           g.AddDir(handler,args.dir_arg, args.recurse_given);
40         }
41       
42       if (args.print_given) 
43         {
44           g.GetTreeHandler(handler)->LoadChildren(0,0);
45           g.Print(handler);
46         }
47       
48       g.Finalize();
49     }
50   catch (crea::Exception e)
51     {
52       e.Print();
53     }
54   return 0;
55 }