Rev 50 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once#include "lists.h"#include <Utils/WString.h>namespace SPK {namespace Package {class SPKEXPORT CInstallText{private:typedef struct SInstallText {int iLanguage;Utils::WString sBefore;Utils::WString sAfter;} SInstallText;public:typedef CLinkList<SInstallText> TextList;typedef CListNode<SInstallText>* TextNode;friend class CInstallText;private:TextList _lTexts;public:CInstallText(void);virtual ~CInstallText(void);void add(int iLang, const Utils::WString &sBefore, const Utils::WString &sAfter);void addBefore(int iLang, const Utils::WString &sBefore);void addAfter(int iLang, const Utils::WString &sAfter);void remove(int iLang);void removeBefore(int iLang);void removeAfter(int iLang);Utils::WString getBefore(int iLang, bool bIncludeDefault = true) const;Utils::WString getAfter(int iLang, bool bIncludeDefault = true) const;bool any() const;void merge(const CInstallText *pText);unsigned int count() const;int language(unsigned int iPos) const;private:SInstallText *_find(int iLang) const;SInstallText *_new(int iLang);void _purge();SInstallText *_default() const;SInstallText *_getAt(int iIdx) const;};}}//NAMESPACE