ReactOS 0.4.17-dev-243-g1369312
CAvailableApplicationInfo Class Reference

#include <appinfo.h>

Inheritance diagram for CAvailableApplicationInfo:
Collaboration diagram for CAvailableApplicationInfo:

Public Member Functions

 CAvailableApplicationInfo (CConfigParser *Parser, const CStringW &PkgName, AppsCategories Category, const CPathW &BasePath)
 
 ~CAvailableApplicationInfo ()
 
CConfigParserGetConfigParser () const
 
bool IsCompatible () const
 
bool IsInstalled (CStringW *pOutKeyName=NULL) const
 
virtual BOOL Valid () const override
 
virtual BOOL CanModify () override
 
virtual BOOL RetrieveIcon (CStringW &Path) const override
 
virtual BOOL RetrieveScreenshot (CStringW &Path) override
 
virtual VOID ShowAppInfo (CAppRichEdit *RichEdit) override
 
virtual VOID GetDownloadInfo (CStringW &Url, CStringW &Sha1, ULONG &SizeInBytes) const override
 
virtual VOID GetDisplayInfo (CStringW &License, CStringW &Size, CStringW &UrlSite, CStringW &UrlDownload) override
 
virtual InstallerType GetInstallerType (bool NestedType=false) const override
 
virtual InstallerType GetInstallerInfo (CStringW &SilentParameters) const override
 
virtual BOOL UninstallApplication (UninstallCommandFlags Flags) override
 
- Public Member Functions inherited from CAppInfo
 CAppInfo (const CStringW &Identifier, AppsCategories Category)
 
virtual ~CAppInfo ()
 
virtual BOOL Valid () const =0
 
virtual BOOL CanModify ()=0
 
virtual BOOL RetrieveIcon (CStringW &Path) const =0
 
virtual BOOL RetrieveScreenshot (CStringW &Path)=0
 
virtual VOID ShowAppInfo (CAppRichEdit *RichEdit)=0
 
virtual VOID GetDownloadInfo (CStringW &Url, CStringW &Sha1, ULONG &SizeInBytes) const =0
 
virtual VOID GetDisplayInfo (CStringW &License, CStringW &Size, CStringW &UrlSite, CStringW &UrlDownload)=0
 
virtual InstallerType GetInstallerType (bool NestedType=false) const
 
virtual InstallerType GetInstallerInfo (CStringW &SilentParameters) const
 
virtual BOOL UninstallApplication (UninstallCommandFlags Flags)=0
 

Private Member Functions

VOID InsertVersionInfo (CAppRichEdit *RichEdit)
 
VOID InsertLanguageInfo (CAppRichEdit *RichEdit)
 
VOID RetrieveLanguages ()
 
CStringW LicenseString ()
 

Private Attributes

CConfigParserm_Parser
 
CSimpleArray< CStringWm_szScrnshotLocation
 
bool m_ScrnshotRetrieved
 
CStringW m_szUrlDownload
 
CStringW m_szSize
 
CStringW m_szUrlSite
 
CSimpleArray< LCIDm_LanguageLCIDs
 
bool m_LanguagesLoaded
 

Additional Inherited Members

- Public Attributes inherited from CAppInfo
const CStringW szIdentifier
 
const AppsCategories iCategory
 
CStringW szDisplayIcon
 
CStringW szDisplayName
 
CStringW szDisplayVersion
 
CStringW szComments
 

Detailed Description

Definition at line 149 of file appinfo.h.

Constructor & Destructor Documentation

◆ CAvailableApplicationInfo()

CAvailableApplicationInfo::CAvailableApplicationInfo ( CConfigParser Parser,
const CStringW PkgName,
AppsCategories  Category,
const CPathW BasePath 
)

Definition at line 30 of file appinfo.cpp.

35 : CAppInfo(PkgName, ClampAvailableCategory(Category)), m_Parser(Parser), m_ScrnshotRetrieved(false), m_LanguagesLoaded(false)
36{
39 m_Parser->GetString(L"URLDownload", m_szUrlDownload);
40 m_Parser->GetString(L"Description", szComments);
41
42 CPathW IconPath = BasePath;
43 IconPath += L"icons";
44
46 if (m_Parser->GetString(L"Icon", IconName))
47 {
49 }
50 else
51 {
52 // inifile.ico
53 IconPath += (szIdentifier + L".ico");
54 }
55
57 {
59 }
60
61 INT iSizeBytes;
62
63 if (m_Parser->GetInt(L"SizeBytes", iSizeBytes))
64 {
67 }
68
69 m_Parser->GetString(L"URLSite", m_szUrlSite);
70}
static AppsCategories ClampAvailableCategory(AppsCategories Category)
Definition: appinfo.cpp:14
void ReleaseBuffer(_In_ int nNewLength=-1)
Definition: atlsimpstr.h:387
CStringW szComments
Definition: appinfo.h:125
CStringW szDisplayIcon
Definition: appinfo.h:122
CStringW szDisplayName
Definition: appinfo.h:123
CStringW szDisplayVersion
Definition: appinfo.h:124
const CStringW szIdentifier
Definition: appinfo.h:119
CConfigParser * m_Parser
Definition: appinfo.h:151
BOOL GetString(const CStringW &KeyName, CStringW &ResultString)
BOOL GetInt(const CStringW &KeyName, INT &iResult)
LPCTSTR IconName
Definition: desktop.c:53
#define MAX_PATH
Definition: compat.h:34
BOOL WINAPI PathFileExistsW(const WCHAR *path)
Definition: path.c:2607
static const WCHAR IconPath[]
Definition: install.c:51
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
Definition: string.c:2524
#define L(x)
Definition: resources.c:13
const uint16_t * LPCWSTR
Definition: typedefs.h:57
int32_t INT
Definition: typedefs.h:58

◆ ~CAvailableApplicationInfo()

CAvailableApplicationInfo::~CAvailableApplicationInfo ( )

Definition at line 72 of file appinfo.cpp.

73{
74 delete m_Parser;
75}

Member Function Documentation

◆ CanModify()

BOOL CAvailableApplicationInfo::CanModify ( )
overridevirtual

Implements CAppInfo.

Definition at line 348 of file appinfo.cpp.

349{
350 return FALSE;
351}
#define FALSE
Definition: types.h:117

◆ GetConfigParser()

CConfigParser * CAvailableApplicationInfo::GetConfigParser ( ) const
inline

Definition at line 178 of file appinfo.h.

178{ return m_Parser; }

Referenced by ExtractAndRunGeneratedInstaller(), and ExtractArchiveForExecution().

◆ GetDisplayInfo()

VOID CAvailableApplicationInfo::GetDisplayInfo ( CStringW License,
CStringW Size,
CStringW UrlSite,
CStringW UrlDownload 
)
overridevirtual

Implements CAppInfo.

Definition at line 413 of file appinfo.cpp.

414{
415 License = LicenseString();
416 Size = m_szSize;
417 UrlSite = m_szUrlSite;
418 UrlDownload = m_szUrlDownload;
419}
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539

◆ GetDownloadInfo()

VOID CAvailableApplicationInfo::GetDownloadInfo ( CStringW Url,
CStringW Sha1,
ULONG SizeInBytes 
) const
overridevirtual

Implements CAppInfo.

Definition at line 396 of file appinfo.cpp.

397{
398 Url = m_szUrlDownload;
399 m_Parser->GetString(L"SHA1", Sha1);
400 INT iSizeBytes;
401
402 if (m_Parser->GetInt(L"SizeBytes", iSizeBytes))
403 {
404 SizeInBytes = (ULONG)iSizeBytes;
405 }
406 else
407 {
408 SizeInBytes = 0;
409 }
410}
uint32_t ULONG
Definition: typedefs.h:59

◆ GetInstallerInfo()

InstallerType CAvailableApplicationInfo::GetInstallerInfo ( CStringW SilentParameters) const
overridevirtual

Reimplemented from CAppInfo.

Definition at line 456 of file appinfo.cpp.

457{
459 m_Parser->GetString(DB_SILENTARGS, SilentParameters);
460 return it;
461}
#define DB_SILENTARGS
Definition: appinfo.h:100
InstallerType
Definition: appinfo.h:82
virtual InstallerType GetInstallerType(bool NestedType=false) const override
Definition: appinfo.cpp:432

◆ GetInstallerType()

InstallerType CAvailableApplicationInfo::GetInstallerType ( bool  NestedType = false) const
overridevirtual

Reimplemented from CAppInfo.

Definition at line 432 of file appinfo.cpp.

433{
436 if (str.CompareNoCase(DB_INSTALLER_GENERATE) == 0)
437 {
438 return INSTALLER_GENERATE;
439 }
440 else if (str.CompareNoCase(DB_INSTALLER_EXEINZIP) == 0)
441 {
442 if (NestedType)
443 {
447 if (it != INSTALLER_UNKNOWN)
448 return it;
449 }
450 return INSTALLER_EXEINZIP;
451 }
452 return INSTALLER_UNKNOWN;
453}
static InstallerType GetInstallerTypeFromString(const CStringW &Installer)
Definition: appinfo.cpp:422
#define DB_EXEINZIPSECTION
Definition: appinfo.h:107
#define DB_INSTALLER
Definition: appinfo.h:95
#define DB_INSTALLER_EXEINZIP
Definition: appinfo.h:97
@ INSTALLER_UNKNOWN
Definition: appinfo.h:83
@ INSTALLER_EXEINZIP
Definition: appinfo.h:84
@ INSTALLER_GENERATE
Definition: appinfo.h:85
#define DB_INSTALLER_GENERATE
Definition: appinfo.h:96
UINT GetSectionString(LPCWSTR Section, LPCWSTR Name, CStringW &Result)
UINT WINAPI nested(MSIHANDLE hinst)
Definition: custom.c:565
const WCHAR * str

Referenced by GetInstallerInfo().

◆ InsertLanguageInfo()

VOID CAvailableApplicationInfo::InsertLanguageInfo ( CAppRichEdit RichEdit)
private

Definition at line 225 of file appinfo.cpp.

226{
228 {
230 }
231
232 if (m_LanguageLCIDs.GetSize() == 0)
233 {
234 return;
235 }
236
237 const INT nTranslations = m_LanguageLCIDs.GetSize();
238 CStringW szLangInfo;
239 CStringW szLoadedTextAvailability;
240 CStringW szLoadedAInfoText;
241
242 szLoadedAInfoText.LoadStringW(IDS_AINFO_LANGUAGES);
243
246 {
247 szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_AVAILABLE_TRANSLATION);
248 if (nTranslations > 1)
249 {
252 szLangInfo.Format(buf, nTranslations - 1);
253 }
254 else
255 {
256 szLangInfo.LoadStringW(IDS_LANGUAGE_SINGLE);
257 szLangInfo = L" (" + szLangInfo + L")";
258 }
259 }
260 else if (m_LanguageLCIDs.Find(lcEnglish) >= 0)
261 {
262 szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_ENGLISH_TRANSLATION);
263 if (nTranslations > 1)
264 {
267 szLangInfo.Format(buf, nTranslations - 1);
268 }
269 else
270 {
271 szLangInfo.LoadStringW(IDS_LANGUAGE_SINGLE);
272 szLangInfo = L" (" + szLangInfo + L")";
273 }
274 }
275 else
276 {
277 szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_NO_TRANSLATION);
278 }
279
280 RichEdit->InsertText(szLoadedAInfoText, CFE_BOLD);
281 RichEdit->InsertText(szLoadedTextAvailability, NULL);
282 RichEdit->InsertText(szLangInfo, CFE_ITALIC);
283}
#define IDS_LANGUAGE_MORE_PLACEHOLDER
Definition: resource.h:223
#define IDS_LANGUAGE_SINGLE
Definition: resource.h:222
#define IDS_LANGUAGE_NO_TRANSLATION
Definition: resource.h:220
#define IDS_AINFO_LANGUAGES
Definition: resource.h:178
#define IDS_LANGUAGE_AVAILABLE_PLACEHOLDER
Definition: resource.h:224
#define IDS_LANGUAGE_AVAILABLE_TRANSLATION
Definition: resource.h:219
#define IDS_LANGUAGE_ENGLISH_TRANSLATION
Definition: resource.h:221
int GetSize() const
Definition: atlsimpcoll.h:104
int Find(const T &t) const
Definition: atlsimpcoll.h:82
void __cdecl Format(UINT nFormatID,...)
Definition: cstringt.h:818
CSimpleArray< LCID > m_LanguageLCIDs
Definition: appinfo.h:157
VOID InsertText(LPCWSTR lpszText, DWORD dwEffects)
Definition: crichedit.h:77
#define NULL
Definition: types.h:112
LCID WINAPI GetUserDefaultLCID(void)
Definition: locale.c:1216
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define SORT_DEFAULT
#define MAKELCID(lgid, srtid)
#define CFE_BOLD
Definition: richedit.h:406
#define CFE_ITALIC
Definition: richedit.h:407
#define MAKELANGID(p, s)
Definition: nls.h:15
#define LANG_ENGLISH
Definition: nls.h:52
#define SUBLANG_DEFAULT
Definition: nls.h:168
DWORD LCID
Definition: nls.h:13

Referenced by ShowAppInfo().

◆ InsertVersionInfo()

VOID CAvailableApplicationInfo::InsertVersionInfo ( CAppRichEdit RichEdit)
private

Definition at line 140 of file appinfo.cpp.

141{
142 CStringW szRegName;
143 m_Parser->GetString(DB_REGNAME, szRegName);
144
146 if (bIsInstalled)
147 {
148 CStringW szInstalledVersion;
149 CStringW szNameVersion = szDisplayName + L" " + szDisplayVersion;
150 BOOL bHasInstalledVersion = ::GetInstalledVersion(&szInstalledVersion, szRegName) ||
151 ::GetInstalledVersion(&szInstalledVersion, szDisplayName) ||
152 ::GetInstalledVersion(&szInstalledVersion, szNameVersion);
153
154 if (bHasInstalledVersion)
155 {
156 BOOL bHasUpdate = CompareVersion(szInstalledVersion, szDisplayVersion) < 0;
157 if (bHasUpdate)
158 {
160 RichEdit->LoadAndInsertText(IDS_AINFO_VERSION, szInstalledVersion, 0);
161 }
162 else
163 {
165 }
166 }
167 else
168 {
170 }
171 }
172 else
173 {
175 }
176
178}
int CompareVersion(const CStringW &left, const CStringW &right)
Definition: appinfo.cpp:93
#define DB_REGNAME
Definition: appinfo.h:94
BOOL GetInstalledVersion(CStringW *pszVersion, const CStringW &szRegName)
Definition: misc.cpp:376
#define IDS_AINFO_AVAILABLEVERSION
Definition: resource.h:177
#define IDS_STATUS_NOTINSTALLED
Definition: resource.h:205
#define IDS_AINFO_VERSION
Definition: resource.h:171
#define IDS_STATUS_UPDATE_AVAILABLE
Definition: resource.h:207
#define IDS_STATUS_INSTALLED
Definition: resource.h:204
VOID LoadAndInsertText(UINT uStringID, const CStringW &szText, DWORD TextFlags)
Definition: appview.cpp:286
unsigned int BOOL
Definition: ntddk_ex.h:94

Referenced by ShowAppInfo().

◆ IsCompatible()

bool CAvailableApplicationInfo::IsCompatible ( ) const

Definition at line 315 of file appinfo.cpp.

316{
317 CStringW szBuffer;
318 if (m_Parser->GetString(DB_NTVER, szBuffer))
319 {
320 LPWSTR start = szBuffer.GetString();
321 LPWSTR p;
322 ULONG MinNTVer = wcstoul(start, &p, 0);
323 if (p > start)
324 {
325 ULONG NTVersion = GetNTVersion();
326 // Treat as range if we have '-', otherwise treat it as XXX+
327 ULONG MaxNTVer = (*p == '-') ? wcstoul(++p, NULL, 0) : UINT_MAX;
328 // Handle the XXX- case (That version or lower)
329 if (MaxNTVer == 0)
330 {
331 MaxNTVer = MinNTVer;
332 MinNTVer = 0;
333 }
334
335 return NTVersion >= MinNTVer && NTVersion <= MaxNTVer;
336 }
337 }
338 return true;
339}
#define GetNTVersion()
Definition: apitest.h:17
#define DB_NTVER
Definition: appinfo.h:101
PXSTR GetString() noexcept
Definition: atlsimpstr.h:367
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t *, wchar_t **, int)
Definition: wcs.c:2912
#define UINT_MAX
Definition: limits.h:27
GLuint start
Definition: gl.h:1545
GLfloat GLfloat p
Definition: glext.h:8902
uint16_t * LPWSTR
Definition: typedefs.h:56

Referenced by Valid().

◆ IsInstalled()

bool CAvailableApplicationInfo::IsInstalled ( CStringW pOutKeyName = NULL) const

Definition at line 124 of file appinfo.cpp.

125{
126 LPCWSTR pszKeyName = NULL;
127 CStringW szRegName;
128 m_Parser->GetString(DB_REGNAME, szRegName);
129 if (::GetInstalledVersion(NULL, szRegName))
130 pszKeyName = szRegName.GetString();
132 pszKeyName = szDisplayName.GetString();
133
134 if (pszKeyName && pOutKeyName)
135 *pOutKeyName = pszKeyName;
136 return pszKeyName != NULL;
137}

Referenced by CDownloadManager::Add().

◆ LicenseString()

CStringW CAvailableApplicationInfo::LicenseString ( )
private

Definition at line 181 of file appinfo.cpp.

182{
183 INT IntBuffer;
184 m_Parser->GetInt(L"LicenseType", IntBuffer);
185 CStringW szLicenseString;
186 m_Parser->GetString(L"License", szLicenseString);
187 LicenseType licenseType;
188
189 if (IsKnownLicenseType(IntBuffer))
190 licenseType = static_cast<LicenseType>(IntBuffer);
191 else
192 licenseType = LICENSE_NONE;
193
194 if (licenseType == LICENSE_NONE || licenseType == LICENSE_FREEWARE)
195 {
196 if (szLicenseString.CompareNoCase(L"Freeware") == 0)
197 {
198 licenseType = LICENSE_FREEWARE;
199 szLicenseString = L""; // Don't display as "Freeware (Freeware)"
200 }
201 }
202
203 CStringW szLicense;
204 switch (licenseType)
205 {
207 szLicense.LoadStringW(IDS_LICENSE_OPENSOURCE);
208 break;
209 case LICENSE_FREEWARE:
210 szLicense.LoadStringW(IDS_LICENSE_FREEWARE);
211 break;
212 case LICENSE_TRIAL:
213 szLicense.LoadStringW(IDS_LICENSE_TRIAL);
214 break;
215 default:
216 return szLicenseString;
217 }
218
219 if (!szLicenseString.IsEmpty())
220 szLicense += L" (" + szLicenseString + L")";
221 return szLicense;
222}
LicenseType
Definition: appinfo.h:8
@ LICENSE_NONE
Definition: appinfo.h:9
@ LICENSE_OPENSOURCE
Definition: appinfo.h:10
@ LICENSE_TRIAL
Definition: appinfo.h:12
@ LICENSE_FREEWARE
Definition: appinfo.h:11
BOOL IsKnownLicenseType(INT x)
Definition: appinfo.h:18
#define IDS_LICENSE_TRIAL
Definition: resource.h:216
#define IDS_LICENSE_FREEWARE
Definition: resource.h:215
#define IDS_LICENSE_OPENSOURCE
Definition: resource.h:214
bool IsEmpty() const noexcept
Definition: atlsimpstr.h:394
int CompareNoCase(_In_z_ PCXSTR psz) const
Definition: cstringt.h:743

Referenced by GetDisplayInfo(), and ShowAppInfo().

◆ RetrieveIcon()

BOOL CAvailableApplicationInfo::RetrieveIcon ( CStringW Path) const
overridevirtual

Implements CAppInfo.

Definition at line 354 of file appinfo.cpp.

355{
357 return !Path.IsEmpty();
358}
PRTL_UNICODE_STRING_BUFFER Path

◆ RetrieveLanguages()

VOID CAvailableApplicationInfo::RetrieveLanguages ( )
private

Definition at line 286 of file appinfo.cpp.

287{
288 m_LanguagesLoaded = true;
289
290 CStringW szBuffer;
291 if (!m_Parser->GetString(L"Languages", szBuffer))
292 {
293 return;
294 }
295
296 // Parse parameter string
297 int iIndex = 0;
298 while (true)
299 {
300 CStringW szLocale = szBuffer.Tokenize(L"|", iIndex);
301 if (szLocale.IsEmpty())
302 break;
303
304 szLocale = L"0x" + szLocale;
305
306 INT iLCID;
307 if (StrToIntExW(szLocale, STIF_SUPPORT_HEX, &iLCID))
308 {
309 m_LanguageLCIDs.Add(static_cast<LCID>(iLCID));
310 }
311 }
312}
BOOL Add(const T &t)
Definition: atlsimpcoll.h:58
CStringT Tokenize(_In_z_ PCXSTR pszTokens, _Inout_ int &iStart) const
Definition: cstringt.h:947
BOOL WINAPI StrToIntExW(const WCHAR *str, DWORD flags, INT *ret)
Definition: string.c:972
#define STIF_SUPPORT_HEX
Definition: shlwapi.h:1059

Referenced by InsertLanguageInfo().

◆ RetrieveScreenshot()

BOOL CAvailableApplicationInfo::RetrieveScreenshot ( CStringW Path)
overridevirtual

Implements CAppInfo.

Definition at line 362 of file appinfo.cpp.

363{
365 {
366 static_assert(MAX_SCRNSHOT_NUM < 10000, "MAX_SCRNSHOT_NUM is too big");
367 for (int i = 0; i < MAX_SCRNSHOT_NUM; i++)
368 {
369 CStringW ScrnshotField;
370 ScrnshotField.Format(L"Screenshot%d", i + 1);
371 CStringW ScrnshotLocation;
372 if (!m_Parser->GetString(ScrnshotField, ScrnshotLocation))
373 {
374 // We stop at the first screenshot not found,
375 // so screenshots _have_ to be consecutive
376 break;
377 }
378
379 if (PathIsURLW(ScrnshotLocation.GetString()))
380 {
381 m_szScrnshotLocation.Add(ScrnshotLocation);
382 }
383 }
384 m_ScrnshotRetrieved = true;
385 }
386
387 if (m_szScrnshotLocation.GetSize() > 0)
388 {
390 }
391
392 return !Path.IsEmpty();
393}
#define MAX_SCRNSHOT_NUM
Definition: appinfo.cpp:360
CSimpleArray< CStringW > m_szScrnshotLocation
Definition: appinfo.h:152
BOOL WINAPI PathIsURLW(const WCHAR *path)
Definition: path.c:3238
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

◆ ShowAppInfo()

VOID CAvailableApplicationInfo::ShowAppInfo ( CAppRichEdit RichEdit)
overridevirtual

Implements CAppInfo.

Definition at line 78 of file appinfo.cpp.

79{
80 RichEdit->SetText(szDisplayName, CFE_BOLD);
81 InsertVersionInfo(RichEdit);
83 InsertLanguageInfo(RichEdit);
84
90}
#define IDS_AINFO_SIZE
Definition: resource.h:173
#define IDS_AINFO_PACKAGE_NAME
Definition: resource.h:182
#define IDS_AINFO_LICENSE
Definition: resource.h:175
#define IDS_AINFO_DESCRIPTION
Definition: resource.h:172
#define IDS_AINFO_URLSITE
Definition: resource.h:174
#define IDS_AINFO_URLDOWNLOAD
Definition: resource.h:176
VOID InsertLanguageInfo(CAppRichEdit *RichEdit)
Definition: appinfo.cpp:225
VOID InsertVersionInfo(CAppRichEdit *RichEdit)
Definition: appinfo.cpp:140
VOID SetText(LPCWSTR lpszText, DWORD dwEffects)
Definition: crichedit.h:91
#define CFE_LINK
Definition: richedit.h:411

◆ UninstallApplication()

BOOL CAvailableApplicationInfo::UninstallApplication ( UninstallCommandFlags  Flags)
overridevirtual

Implements CAppInfo.

Definition at line 464 of file appinfo.cpp.

465{
466 ATLASSERT(FALSE && "Should not be called");
467 return FALSE;
468}
#define ATLASSERT(x)
Definition: CComVariant.cpp:10

◆ Valid()

BOOL CAvailableApplicationInfo::Valid ( ) const
overridevirtual

Implements CAppInfo.

Definition at line 342 of file appinfo.cpp.

343{
345}
bool IsCompatible() const
Definition: appinfo.cpp:315

Referenced by CAppDB::CreateAvailableAppInstance().

Member Data Documentation

◆ m_LanguageLCIDs

CSimpleArray<LCID> CAvailableApplicationInfo::m_LanguageLCIDs
private

Definition at line 157 of file appinfo.h.

Referenced by InsertLanguageInfo(), and RetrieveLanguages().

◆ m_LanguagesLoaded

bool CAvailableApplicationInfo::m_LanguagesLoaded
private

Definition at line 158 of file appinfo.h.

Referenced by InsertLanguageInfo(), and RetrieveLanguages().

◆ m_Parser

◆ m_ScrnshotRetrieved

bool CAvailableApplicationInfo::m_ScrnshotRetrieved
private

Definition at line 153 of file appinfo.h.

Referenced by RetrieveScreenshot().

◆ m_szScrnshotLocation

CSimpleArray<CStringW> CAvailableApplicationInfo::m_szScrnshotLocation
private

Definition at line 152 of file appinfo.h.

Referenced by RetrieveScreenshot().

◆ m_szSize

CStringW CAvailableApplicationInfo::m_szSize
private

Definition at line 155 of file appinfo.h.

Referenced by CAvailableApplicationInfo(), GetDisplayInfo(), and ShowAppInfo().

◆ m_szUrlDownload

CStringW CAvailableApplicationInfo::m_szUrlDownload
private

◆ m_szUrlSite

CStringW CAvailableApplicationInfo::m_szUrlSite
private

Definition at line 156 of file appinfo.h.

Referenced by CAvailableApplicationInfo(), GetDisplayInfo(), and ShowAppInfo().


The documentation for this class was generated from the following files: