Rev 46 | Rev 50 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once
#include "Utils/String.h"
#include "lists.h"
namespace SPK {
namespace Package {
class SPKEXPORT CInstallText
{
private:
typedef struct SInstallText {
int iLanguage;
Utils::String sBefore;
Utils::String 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::String &sBefore, const Utils::String &sAfter);
void addBefore(int iLang, const Utils::String &sBefore);
void addAfter(int iLang, const Utils::String &sAfter);
void remove(int iLang);
void removeBefore(int iLang);
void removeAfter(int iLang);
Utils::String getBefore(int iLang, bool bIncludeDefault = true) const;
Utils::String 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