#ifndef CSETTINGMANAGER_H_INCLUDED
#define CSETTINGMANAGER_H_INCLUDED

#include <irrlicht.h>
#include <fstream>
//#include <sstream>
#include <vector>
#include "rapidxml.hpp"

using namespace irr;
using namespace rapidxml;

class CSettingManager
{
    public:

    core::map<core::stringw, core::dimension2du> ResolutionOptions; //available options for resolution config

	~CSettingManager();

	bool Load();
	bool Save();



    CSettingManager(const core::stringw,IrrlichtDevice*);
    CSettingManager& operator=(const CSettingManager& other); // defined but not implemented

    void setSetting(const core::stringw&, const core::stringw&);
    void setSetting(const core::stringw&, s32);
    core::stringw getSetting(const core::stringw&) const;
    bool getSettingAsBoolean(const core::stringw&) const;
    s32 getSettingAsInteger(const core::stringw&) const;

    private:
    core::stringw xml_file;
    IrrlichtDevice *MenuDevice;

    core::map<core::stringw, core::stringw> SettingMap; //current config


};


#endif // CSETTINGMANAGER_H_INCLUDED
