X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fgimmick%2Fmain.cxx;h=f5f1c1ce7b1250c7a92a153ec30bff5de055d6de;hb=c7482ec7d04a5e5987841932a6856ebd471cebdb;hp=b456e3f48a4b232e3c2f29d36d6f139a13be0849;hpb=273d833f9aea7ee060e41a3bf810811640e10ac6;p=creaImageIO.git diff --git a/appli/gimmick/main.cxx b/appli/gimmick/main.cxx index b456e3f..f5f1c1c 100644 --- a/appli/gimmick/main.cxx +++ b/appli/gimmick/main.cxx @@ -1,3 +1,29 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la Santé) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ +*/ #include using namespace boost; @@ -25,19 +51,20 @@ int main(int ac, char* av[]) po::options_description command("COMMANDS"); command.add_options() ("print,p","Prints the local database tree (default=off)") - ("file,f",po::value< vector >(),"Adds the file to the local database") + ("files,f",po::value< vector >(),"Adds the file(s) to the local database") ("dir,d",po::value< vector >(),"Adds the directory to the local database") - ("sync,s","Synchronizes the local database with the files") - ("recurse,r","Recurse into sub-directories (default=off)") - ("repair,R","Repair the database (on synchronization) (default=off)") - ("check,c","Check for attribute differences (on synchronization) (default=off)"); + ("sync,s",po::value< vector >(),"Synchronizes the local database with the files") + ("copy,c",po::value< vector >(),"Copies the files into a local directory"); - //Describes third group of options po::options_description option("OPTIONS"); option.add_options() ("verbose,v",po::value(&verb),"Verbosity level (default=`1')") - ("debug,D",po::value(&deb),"Debug messages level (default=`0')"); + ("debug,D",po::value(&deb),"Debug messages level (default=`0')") + ("recurse,r","Recurse into sub-directories (default=off)") + ("repair,R","Repair the database (on synchronization) (default=off)") + ("check,C","Check for attribute differences (on synchronization) (default=off)") + ("handler,H",po::value(&handler),"Handler name (default=`Local database')"); //Adds the groups into a big one po::options_description cmdline_options; @@ -48,6 +75,7 @@ int main(int ac, char* av[]) po::store(po::parse_command_line(ac, av, cmdline_options), vm); po::notify(vm); + //Does something on each option //GENERIC if (vm.count("help")) { @@ -73,7 +101,9 @@ int main(int ac, char* av[]) ||vm.count("file") ||vm.count("dir") ||vm.count("sync") + ||vm.count("copy") ) + { try { @@ -97,20 +127,26 @@ int main(int ac, char* av[]) if (vm.count("sync")) { bool rep=false; bool chk=false; + std::vector name=vm["sync"].as< vector >(); std::stringstream out; out< name=vm["copy"].as< vector >(); + g.CopyFiles(name,handler); + } g.Finalize(); } catch (crea::Exception e) { e.Print(); } + } return 0;