#ifndef XMLPARAM_H
#define XMLPARAM_H


#include <QtCore/qglobal.h>

#include <string>

#if defined(XMLPARAM_LIBRARY)
#  define XMLPARAMSHARED_EXPORT Q_DECL_EXPORT
#else
#  define XMLPARAMSHARED_EXPORT Q_DECL_IMPORT
#endif

namespace iv {
namespace xmlparam {

class XMLPARAMSHARED_EXPORT Xmlparam
{

public:
    Xmlparam(std::string filepath);
    std::string GetParam(std::string paramname,std::string defaultvalue);
    std::string GetParam(std::string paramname,const char *  strdefaultvalue);
    int GetParam(std::string paramname, int ndefaultvalue);
    double GetParam(std::string paramname, double dfdefvalue);
    float GetParam(std::string paramname, float fdefvalue);
    bool GetParam(std::string paramname, bool bdefValue);

    void GetParam(std::string paramname,std::string & strvalue,std::string defaultvalue);
    void GetParam(std::string paramname,std::string & strvalue,const char *  strdefaultvalue);
    void GetParam(std::string paramname, int & nvalue, int ndefaultvalue);
    void GetParam(std::string paramname, double & dfvalue,double dfdefvalue);
    void GetParam(std::string paramname, float & fvalue, float fdefvalue);
    void GetParam(std::string paramname, bool & bvalue,bool bdefvalue);

    QString GetVersion();
private:
    int * mpx;

};
}

}


#endif // XMLPARAM_H