#include <iostream>
#include <iomanip>
#include <vector>
#include <set>

#include "JAcoustics/JTransmission_t.hh"

#include "JSupport/JMeta.hh"

#include "Jeep/JContainer.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

/**
 * \author mdejong
 *
 * Auxiliary program to merge disable files.
 *
 */
int main(int argc, char **argv)
{
  using namespace std;
  using namespace JPP;

  typedef JContainer< set<JTransmission_t> > disable_container;
  
  vector<string>          inputFile;
  string                  outputFile;
  int                     debug;

  try { 

    JParser<> zap("Auxiliary program to merge disable files.");
    
    zap['f'] = make_field(inputFile,   "input file")                         = JPARSER::initialised();
    zap['o'] = make_field(outputFile,  "output file");
    zap['d'] = make_field(debug)                                             = 1;

    zap(argc, argv);
  }
  catch(const exception &error) {
    FATAL(error.what() << endl);
  }


  disable_container disable;

  for (vector<string>::const_iterator i = inputFile.begin(); i != inputFile.end(); ++i) {
    disable.load(i->c_str());
  }

  disable.comment.add(JMeta(argc, argv));

  disable.store(outputFile.c_str());
}