Rev 48 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "CorePackage.h"
#include <File.h>
#include "InstallText.h"
namespace SPK {
namespace Package {
CCorePackage::CCorePackage(void) : _bChanged(false), _pIconFile(NULL), _pInstallText(NULL), _pUninstallText(NULL)
{
_setDefaults();
}
CCorePackage::~CCorePackage(void)
{
delete _pIconFile;
delete _pInstallText;
delete _pUninstallText;
}
void CCorePackage::setIcon(C_File *file, const Utils::String ext)
{
delete _pIconFile;
_sIconExt = ext;
_pIconFile = file;
_changed();
}
void CCorePackage::_setDefaults()
{
_iRecommended = -1;
_iGameChanging = -1;
_iEaseOfUse = -1;
delete _pIconFile;
_pIconFile = NULL;
delete _pInstallText;
delete _pUninstallText;
_pInstallText = new CInstallText;
_pUninstallText = new CInstallText;
}
void CCorePackage::_setRatings(int iEase, int iChanging, int iRec)
{
_iRecommended = iRec;
_iGameChanging = iChanging;
_iEaseOfUse = iEase;
}
void CCorePackage::_merge(CCorePackage *pPackage)
{
_iRecommended = pPackage->recommended();
_iGameChanging = pPackage->gameChanging();
_iEaseOfUse = pPackage->easeOfUse();
_pInstallText->merge(pPackage->installText());
_pUninstallText->merge(pPackage->uninstallText());
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Install/Uninstall Texts
///////
Utils::String CCorePackage::_installText(int iLang, bool bBefore, bool bIncludeDefault, const CInstallText *pText) const
{
return (bBefore) ? pText->getBefore(iLang, bIncludeDefault) : pText->getAfter(iLang, bIncludeDefault);
}
Utils::String CCorePackage::installText(int iLang, bool bBefore, bool bIncludeDefault) const
{
return _installText(iLang, bBefore, bIncludeDefault, _pInstallText);
}
Utils::String CCorePackage::uninstallText(int iLang, bool bBefore, bool bIncludeDefault) const
{
return _installText(iLang, bBefore, bIncludeDefault, _pUninstallText);
}
void CCorePackage::addInstallText(int iLang, bool bBefore, const Utils::String &sText)
{
_addInstallText(iLang, bBefore, sText, _pInstallText);
}
void CCorePackage::addUninstallText(int iLang, bool bBefore, const Utils::String &sText)
{
_addInstallText(iLang, bBefore, sText, _pUninstallText);
}
void CCorePackage::removeInstallText(int iLang, bool bInstall)
{
if ( bInstall ) _pInstallText->remove(iLang);
else _pUninstallText->remove(iLang);
}
void CCorePackage::_addInstallText(int iLang, bool bBefore, const Utils::String &sText, CInstallText *pText)
{
if ( bBefore ) pText->addBefore(iLang, sText);
else pText->addAfter(iLang, sText);
}
}}//NAMESPACE