// CAvailableApplicationInfo
CAvailableApplicationInfo::CAvailableApplicationInfo(const ATL::CStringW& sFileNameParam)
- : m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), m_HasInstalledVersion(FALSE), m_Parser(sFileNameParam)
+ : m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), m_HasInstalledVersion(FALSE)
{
m_LicenseType = LICENSE_NONE;
// Lazily load general info from the file
VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
{
- m_Category = m_Parser.GetInt(L"Category");
+ m_Parser = new CConfigParser(m_sFileName);
+
+ m_Category = m_Parser->GetInt(L"Category");
if (!GetString(L"Name", m_szName)
|| !GetString(L"URLDownload", m_szUrlDownload))
{
+ delete m_Parser;
return;
}
{
RetrieveInstalledVersion();
}
+
+ delete m_Parser;
}
VOID CAvailableApplicationInfo::RetrieveInstalledStatus()
ATL::CStringW szBuffer;
// TODO: Get multiline parameter
- if (!m_Parser.GetString(L"Languages", szBuffer))
+ if (!m_Parser->GetString(L"Languages", szBuffer))
{
m_HasLanguageInfo = FALSE;
return;
VOID CAvailableApplicationInfo::RetrieveLicenseType()
{
- INT IntBuffer = m_Parser.GetInt(L"LicenseType");
+ INT IntBuffer = m_Parser->GetInt(L"LicenseType");
if (IsLicenseType(IntBuffer))
{
inline BOOL CAvailableApplicationInfo::GetString(LPCWSTR lpKeyName, ATL::CStringW& ReturnedString)
{
- if (!m_Parser.GetString(lpKeyName, ReturnedString))
+ if (!m_Parser->GetString(lpKeyName, ReturnedString))
{
ReturnedString.Empty();
return FALSE;