Main.cc 1.66 KB
/**
 * Main.cc
 *  Created on: 18 mar. 2016
 *      Author: AKKA IS
 */

#include <iostream>

#include <boost/program_options.hpp>

#include "AMDA-Kernel_Config.hh"
#include "ParameterManager.hh"
#include "PlotOutput.hh"
#include <Application.hh>

// Parameters module include
#include "Process.hh"
#include "ServicesServer.hh"
#include "TimeUtil.hh"

using namespace std;
namespace po = boost::program_options;
using namespace log4cxx;
using namespace log4cxx::helpers;
using namespace AMDA::Parameters;

#define MAX_YEAR 2040

/**
 * Main function
 */
int main(int argc, char *argv[]) {
	int result = AMDA_EXIT_OK;

	/// Parse command line parameters
	po::options_description desc("Allowed options");

	desc.add_options()
		("help,h", "Produce help message")
		("version,v", "Program version")
		("palette,p", po::value< vector<string> >(), "Color palette(s) file(s)")
	;

	po::positional_options_description p;
	p.add("palette", -1);

	po::variables_map vm;
	po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
	po::notify(vm);

	if (vm.count("help")) {
		cout << desc << "\n";
		return result;
	}
	if (vm.count("version")) {
		cout << "Version: " << AMDA_Kernel_VERSION << "\n";
		return result;
	}

	if (!vm.count("palette")) {
		return result;
	}

	AMDA::Common::Application lMain;

	return lMain.main(argc,argv,[&](int , char **, AMDA::helpers::Properties& /*lProperties*/) -> int {

			ParameterManager parameterManager;
			plot::PlotOutput plotOutput(parameterManager);
			std::vector<std::string> paletteList = vm["palette"].as< std::vector<string> >();
			
			for(auto palette:paletteList){
				plotOutput.palToSvg(palette);
			}

			return result;
	});

}