int main (int argc, char* argv[]){

  /******* Parsed value containers ****************/
  std::string configFile;
  std::string sessionKey;
  std::string machineId;
  std::string outputDir;
  int forceDownloadDays = -1;

  /**************** Describe options *************/
  boost::shared_ptr<Options> opt (new Options(argv[0]));

  // Environement option
  opt->add("configFile,c",
           "VISHNU configuration file",
           ENV,
           configFile);

  opt->add("sessionkey,k",
      "VISHNU session key to connect",
      ENV,
      sessionKey);

  // Other options
  opt->add("machineId,m",
           "The target machine",
           CONFIG,
           machineId);
  opt->add("outDir,o",
           "The outputh dir of the jobs results",
           CONFIG,
           outputDir);
  opt->add("days,d",
           "Considers jobs submitted in the last <days> days",
           CONFIG,
           forceDownloadDays);

  // Process the options
  bool isEmpty;
  GenericCli().processListOpt(opt, isEmpty, argc, argv);

  TMS_Data::JobOutputOptions options;
  options.setMachineId(machineId);
  options.setOutputDir(outputDir);
  options.setDays(forceDownloadDays);

  // Process the command
  JobResultsFunc jobResultsFunc(options);
  return GenericCli().run(jobResultsFunc, configFile, argc, argv, sessionKey);
}