/*
    Copyright (C) 2012 Bartosz Broda, Jacek Bochenek, Łukasz Biłeńkij, 
    Damian Jaworski, Wojciech Mazur, Dominik Piasecki, Maciej Piasecki, 
    Radosław Ramocki
    
    This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your option)
any later version.

    This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. 

    See the LICENSE and COPYING files for more details.
*/

/// @author Bartosz Broda, bartosz.broda@gmail.com
#ifndef KBESTD_OPTIONS_H_
#define KBESTD_OPTIONS_H_
#include <string>

namespace tuplesd
{

	/// kbestd server configuration is kept in here
	struct options 
	{
		/// directory with matrices
		std::string matrix_dir;
		/// directory with user-uploadded tuples
		std::string tuples_dir;
		/// path to tuplesproc utility
		std::string tuplesproc;

		/// Port on which kbestd will listen for 'pings'
		int port_no;

		/// Should TaKIPId print lot of info?
		bool print_text;
		/// Ip of this kbestd
		std::string ip;

		/// Database url (without port no)
		std::string mysql_host;
		/// Database port no
		int mysql_port;
		/// Database name
		std::string mysql_db;
		/// Database user
		std::string mysql_user;
		/// Database password
		std::string mysql_pass;

		/// sets up some default options, redunant
		options();
	};

	void parse_options(int ac, char**av, options & opts);

}//namespace tuplesd

#endif /* OPTIONS_H_ */

