/*****************************************************************************

        GRAOUMF TRACKER 2
        Author: Laurent de Soras, 1996-2016

--- Legal stuff ---

This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the Do What The Fuck You Want
To Public License, Version 2, as published by Sam Hocevar. See
http://sam.zoy.org/wtfpl/COPYING for more details.

*****************************************************************************/



#if defined (CFG_CURRENT_HEADER)
	#error Inclusion recursive du header CFG.
#endif
#define	CFG_CURRENT_HEADER

#if ! defined (CFG_HEADER_INCLUDED)
#define	CFG_HEADER_INCLUDED



/*\\\ INCLUDES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ CONSTANTES PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ TYPES & STRUCTURES PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ PROTOTYPES DES FONCTIONS PUBLIQUES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

class ConfigKeyValue;
class String;

bool	CFG_get_string (const ConfigKeyValue &key_val, const char *path_0, String &str);
bool	CFG_get_bool (const ConfigKeyValue &key_val, const char *path_0, bool &val, const char *true_string_0 = 0);
bool	CFG_get_int (const ConfigKeyValue &key_val, const char *path_0, int &v1);
bool	CFG_get_int_2 (const ConfigKeyValue &key_val, const char *path_0, int &v1, int &v2);
bool	CFG_get_int_3 (const ConfigKeyValue &key_val, const char *path_0, int &v1, int &v2, int &v3);
bool	CFG_get_enum (const ConfigKeyValue &key_val, const char *path_0, int &val, const char *enum_list_0);

bool	CFG_check_string (const ConfigKeyValue &key_val, const char *path_0);
bool	CFG_check_list (const ConfigKeyValue &key_val, const char *path_0, int nbr_items);



/*\\\ VARIABLES EXTERNES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/



/*\\\ FIN DU FICHIER \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

#endif

#undef CFG_CURRENT_HEADER
