Subversion Repositories spk

Rev

Rev 101 | Rev 254 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
35 cycrow 1
#pragma once
2
 
3
#include <map>
197 cycrow 4
#include "Utils/WString.h"
35 cycrow 5
 
6
namespace SPK {
7
class CTextDB
8
{
9
public:
197 cycrow 10
	typedef std::map<Utils::WString, Utils::WString> TextList;
11
	typedef std::map<Utils::WString, Utils::WString>::iterator TextListItr;
35 cycrow 12
 
13
private:
14
	int			 m_iLang;
15
	int			 m_iInPage;
16
	TextList	*m_pTexts;
94 cycrow 17
	TextList	*m_pTextComment;
35 cycrow 18
 
19
public:
20
	CTextDB(void);
21
	virtual ~CTextDB(void);
22
 
197 cycrow 23
	void parseTextFile(int iFromPage, int iToPage, const Utils::WString &sFile, int iLang);
24
	Utils::WString get(int iLang, int iPage, int iID) const;
35 cycrow 25
	bool exists(int iLang, int iPage, int iID) const;
197 cycrow 26
	Utils::WString get(int iPage, int iID) const;
35 cycrow 27
	bool exists(int iPage, int iID) const;
101 cycrow 28
	bool anyTextLoaded() const;
35 cycrow 29
 
30
	void setLanguage(int iLang);
31
 
32
private:
197 cycrow 33
	Utils::WString _parseText(int iLang, const Utils::WString &sText, const Utils::WString &sReplace) const;
34
	Utils::WString _parseText(int iLang, const Utils::WString &sText) const;
35
	void _parsePage(int iLang, const Utils::WString &sLine);
36
	void _parseFileLine(int iFromPage, int iToPage, int iLang, const Utils::WString &sLine);
37
	void _addText(int iLang, int iID, const Utils::WString &sText);
38
	Utils::WString _mapID(int iLang, int iPage, int iID) const;
35 cycrow 39
};
40
 
41
} //NAMESPACE