/**
 * settings.h: Stores global parameters
 * 
 * Copyright: See COPYING file that comes with this distribution
 *
 * Author: Matthias Feistel <hitman_47@users.sourceforge.net>, (C) 2006, 2007
 */

#ifndef SETTINGS_H
#define SETTINGS_H

#include <vector>
#include <list>
#include <map>
#include <string>
#include "config.h"

char *NewStrDup( const char *string );
char *NewStrNDup( const char *string, int i );

class cSettings
{
private:
	char m_Osd_Path[512];
	bool m_Show_SearchActions_Menu;
	// XMLfile:
	char m_Xmlconfig_Fileurl[ 512 ];
private:
	static cSettings *gpo_config;
	cSettings( void );
public:
	void ResetParameterMap( void );  // for switching/creating profiles
	~cSettings( );
	static cSettings& GetInstance( void );

	///Osd_Path
	const char *SetOsd_Path( const char *osdpath );
	char *GetOsd_Path( void )
	{
		return m_Osd_Path;
	}
	////////////////////////////////////////////////////////////////

	
	///Show_SearchActions_Menu
	bool SetShow_SearchActions_Menu( bool on );
	bool allowShow_SearchActions_Menu( void ) const
	{
		return m_Show_SearchActions_Menu;
	}
	///Xmlconfig_Fileurl
	const char *SetXmlconfig_Fileurl( const char *fileurl );
	char *GetXmlconfig_Fileurl( void )
	{
		return m_Xmlconfig_Fileurl;
	}

	std::map<std::string,std::string> ParameterMap;
	std::map<std::string,std::string> HandshakedataMap;
	std::map<std::string,int> Osd_ParameterMap;
	std::list<std::string> FavouriteList;
	
	std::string CurrentProfilename;
	int Mp3decoderstate;
	std::string Osd_Albumcoverurl;
};

#endif // SETTINGS_H
