Rev 35 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once
#include <map>
#include "Utils/String.h"
namespace SPK {
class CTextDB
{
public:
typedef std::map<std::string, std::string> TextList;
typedef std::map<std::string, std::string>::iterator TextListItr;
private:
int m_iLang;
int m_iInPage;
TextList *m_pTexts;
public:
CTextDB(void);
virtual ~CTextDB(void);
void parseTextFile(int iFromPage, int iToPage, const Utils::String &sFile, int iLang);
Utils::String get(int iLang, int iPage, int iID) const;
bool exists(int iLang, int iPage, int iID) const;
Utils::String get(int iPage, int iID) const;
bool exists(int iPage, int iID) const;
void setLanguage(int iLang);
private:
Utils::String _parseText(int iLang, const Utils::String &sText, const Utils::String &sReplace) const;
Utils::String _parseText(int iLang, const Utils::String &sText) const;
void _parsePage(int iLang, const Utils::String &sLine);
void _parseFileLine(int iFromPage, int iToPage, int iLang, const Utils::String &sLine);
void _addText(int iLang, int iID, const Utils::String &sText);
Utils::String _mapID(int iLang, int iPage, int iID) const;
};
} //NAMESPACE