ReactOS 0.4.16-dev-816-g135a9a9
appinfo.h File Reference
#include <atlstr.h>
#include <atlpath.h>
#include <atlsimpcoll.h>
Include dependency graph for appinfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CAppInfo
 
class  CAvailableApplicationInfo
 
class  CInstalledApplicationInfo
 

Macros

#define DB_VERSION   L"Version"
 
#define DB_CATEGORY   L"Category"
 
#define DB_PUBLISHER   L"Publisher"
 
#define DB_REGNAME   L"RegName"
 
#define DB_INSTALLER   L"Installer"
 
#define DB_SCOPE   L"Scope"
 
#define DB_SAVEAS   L"SaveAs"
 
#define DB_GENINSTSECTION   L"Generate"
 
#define GENERATE_ARPSUBKEY   L"RApps"
 

Enumerations

enum  LicenseType {
  LICENSE_NONE , LICENSE_OPENSOURCE = 1 , LICENSE_FREEWARE = 2 , LICENSE_TRIAL = 3 ,
  LICENSE_MIN = LICENSE_NONE , LICENSE_MAX = LICENSE_TRIAL
}
 
enum  AppsCategories {
  ENUM_ALL_AVAILABLE , ENUM_CAT_AUDIO , ENUM_CAT_VIDEO , ENUM_CAT_GRAPHICS ,
  ENUM_CAT_GAMES , ENUM_CAT_INTERNET , ENUM_CAT_OFFICE , ENUM_CAT_DEVEL ,
  ENUM_CAT_EDU , ENUM_CAT_ENGINEER , ENUM_CAT_FINANCE , ENUM_CAT_SCIENCE ,
  ENUM_CAT_TOOLS , ENUM_CAT_DRIVERS , ENUM_CAT_LIBS , ENUM_CAT_THEMES ,
  ENUM_CAT_OTHER , ENUM_CAT_SELECTED , ENUM_LASTCATEGORY = ENUM_CAT_SELECTED - 1 , ENUM_ALL_INSTALLED = 30 ,
  ENUM_INSTALLED_APPLICATIONS , ENUM_UPDATES , ENUM_INVALID , ENUM_INSTALLED_MIN = ENUM_ALL_INSTALLED ,
  ENUM_INSTALLED_MAX = ENUM_UPDATES , ENUM_AVAILABLE_MIN = ENUM_ALL_AVAILABLE , ENUM_AVAILABLE_MAX = ENUM_CAT_SELECTED
}
 
enum  UninstallCommandFlags { UCF_NONE = 0x00 , UCF_MODIFY = 0x01 , UCF_SILENT = 0x02 , UCF_SAMEPROCESS = 0x04 }
 
enum  InstallerType { INSTALLER_UNKNOWN , INSTALLER_GENERATE }
 

Functions

BOOL IsKnownLicenseType (INT x)
 
BOOL IsAvailableEnum (INT x)
 
BOOL IsInstalledEnum (INT x)
 
 DEFINE_ENUM_FLAG_OPERATORS (UninstallCommandFlags)
 
BOOL UninstallGenerated (CInstalledApplicationInfo &AppInfo, UninstallCommandFlags Flags)
 
BOOL ExtractAndRunGeneratedInstaller (const CAvailableApplicationInfo &AppInfo, LPCWSTR Archive)
 

Macro Definition Documentation

◆ DB_CATEGORY

#define DB_CATEGORY   L"Category"

Definition at line 89 of file appinfo.h.

◆ DB_GENINSTSECTION

#define DB_GENINSTSECTION   L"Generate"

Definition at line 96 of file appinfo.h.

◆ DB_INSTALLER

#define DB_INSTALLER   L"Installer"

Definition at line 92 of file appinfo.h.

◆ DB_PUBLISHER

#define DB_PUBLISHER   L"Publisher"

Definition at line 90 of file appinfo.h.

◆ DB_REGNAME

#define DB_REGNAME   L"RegName"

Definition at line 91 of file appinfo.h.

◆ DB_SAVEAS

#define DB_SAVEAS   L"SaveAs"

Definition at line 94 of file appinfo.h.

◆ DB_SCOPE

#define DB_SCOPE   L"Scope"

Definition at line 93 of file appinfo.h.

◆ DB_VERSION

#define DB_VERSION   L"Version"

Definition at line 88 of file appinfo.h.

◆ GENERATE_ARPSUBKEY

#define GENERATE_ARPSUBKEY   L"RApps"

Definition at line 97 of file appinfo.h.

Enumeration Type Documentation

◆ AppsCategories

Enumerator
ENUM_ALL_AVAILABLE 
ENUM_CAT_AUDIO 
ENUM_CAT_VIDEO 
ENUM_CAT_GRAPHICS 
ENUM_CAT_GAMES 
ENUM_CAT_INTERNET 
ENUM_CAT_OFFICE 
ENUM_CAT_DEVEL 
ENUM_CAT_EDU 
ENUM_CAT_ENGINEER 
ENUM_CAT_FINANCE 
ENUM_CAT_SCIENCE 
ENUM_CAT_TOOLS 
ENUM_CAT_DRIVERS 
ENUM_CAT_LIBS 
ENUM_CAT_THEMES 
ENUM_CAT_OTHER 
ENUM_CAT_SELECTED 
ENUM_LASTCATEGORY 
ENUM_ALL_INSTALLED 
ENUM_INSTALLED_APPLICATIONS 
ENUM_UPDATES 
ENUM_INVALID 
ENUM_INSTALLED_MIN 
ENUM_INSTALLED_MAX 
ENUM_AVAILABLE_MIN 
ENUM_AVAILABLE_MAX 

Definition at line 24 of file appinfo.h.

25{
53};
@ ENUM_CAT_LIBS
Definition: appinfo.h:40
@ ENUM_CAT_ENGINEER
Definition: appinfo.h:35
@ ENUM_CAT_VIDEO
Definition: appinfo.h:28
@ ENUM_CAT_FINANCE
Definition: appinfo.h:36
@ ENUM_CAT_OFFICE
Definition: appinfo.h:32
@ ENUM_CAT_EDU
Definition: appinfo.h:34
@ ENUM_CAT_AUDIO
Definition: appinfo.h:27
@ ENUM_CAT_TOOLS
Definition: appinfo.h:38
@ ENUM_UPDATES
Definition: appinfo.h:47
@ ENUM_AVAILABLE_MAX
Definition: appinfo.h:52
@ ENUM_CAT_SELECTED
Definition: appinfo.h:43
@ ENUM_ALL_AVAILABLE
Definition: appinfo.h:26
@ ENUM_CAT_INTERNET
Definition: appinfo.h:31
@ ENUM_CAT_GAMES
Definition: appinfo.h:30
@ ENUM_CAT_THEMES
Definition: appinfo.h:41
@ ENUM_INSTALLED_MAX
Definition: appinfo.h:50
@ ENUM_LASTCATEGORY
Definition: appinfo.h:44
@ ENUM_INSTALLED_MIN
Definition: appinfo.h:49
@ ENUM_INSTALLED_APPLICATIONS
Definition: appinfo.h:46
@ ENUM_CAT_GRAPHICS
Definition: appinfo.h:29
@ ENUM_CAT_DEVEL
Definition: appinfo.h:33
@ ENUM_INVALID
Definition: appinfo.h:48
@ ENUM_CAT_DRIVERS
Definition: appinfo.h:39
@ ENUM_ALL_INSTALLED
Definition: appinfo.h:45
@ ENUM_CAT_SCIENCE
Definition: appinfo.h:37
@ ENUM_AVAILABLE_MIN
Definition: appinfo.h:51
@ ENUM_CAT_OTHER
Definition: appinfo.h:42

◆ InstallerType

Enumerator
INSTALLER_UNKNOWN 
INSTALLER_GENERATE 

Definition at line 82 of file appinfo.h.

83{
85 INSTALLER_GENERATE, // .zip file automatically converted to installer by rapps
86};
@ INSTALLER_UNKNOWN
Definition: appinfo.h:84
@ INSTALLER_GENERATE
Definition: appinfo.h:85

◆ LicenseType

Enumerator
LICENSE_NONE 
LICENSE_OPENSOURCE 
LICENSE_FREEWARE 
LICENSE_TRIAL 
LICENSE_MIN 
LICENSE_MAX 

Definition at line 8 of file appinfo.h.

9{
13 LICENSE_TRIAL = 3,
16};
@ LICENSE_NONE
Definition: appinfo.h:10
@ LICENSE_OPENSOURCE
Definition: appinfo.h:11
@ LICENSE_MIN
Definition: appinfo.h:14
@ LICENSE_MAX
Definition: appinfo.h:15
@ LICENSE_TRIAL
Definition: appinfo.h:13
@ LICENSE_FREEWARE
Definition: appinfo.h:12

◆ UninstallCommandFlags

Enumerator
UCF_NONE 
UCF_MODIFY 
UCF_SILENT 
UCF_SAMEPROCESS 

Definition at line 73 of file appinfo.h.

74{
75 UCF_NONE = 0x00,
76 UCF_MODIFY = 0x01,
77 UCF_SILENT = 0x02,
78 UCF_SAMEPROCESS = 0x04,
79};
@ UCF_NONE
Definition: appinfo.h:75
@ UCF_SILENT
Definition: appinfo.h:77
@ UCF_SAMEPROCESS
Definition: appinfo.h:78
@ UCF_MODIFY
Definition: appinfo.h:76

Function Documentation

◆ DEFINE_ENUM_FLAG_OPERATORS()

DEFINE_ENUM_FLAG_OPERATORS ( UninstallCommandFlags  )

◆ ExtractAndRunGeneratedInstaller()

BOOL ExtractAndRunGeneratedInstaller ( const CAvailableApplicationInfo AppInfo,
LPCWSTR  Archive 
)

Definition at line 668 of file geninst.cpp.

669{
670 InstallInfo Info(AppInfo.szDisplayName, *AppInfo.GetConfigParser(), Archive);
671 g_pInfo = &Info;
672 return CreateUI(Info.Silent, ExtractAndInstallThread) ? !Info.Error : FALSE;
673}
CStringW szDisplayName
Definition: appinfo.h:112
CConfigParser * GetConfigParser() const
Definition: appinfo.h:165
#define FALSE
Definition: types.h:117
static DWORD CALLBACK ExtractAndInstallThread(LPVOID Parameter)
Definition: geninst.cpp:437
static struct CommonInfo * g_pInfo
static BOOL CreateUI(BOOL Silent, LPTHREAD_START_ROUTINE ThreadProc)
Definition: geninst.cpp:637
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690

Referenced by HandleGenerateInstallerCommand().

◆ IsAvailableEnum()

BOOL IsAvailableEnum ( INT  x)
inline

Definition at line 56 of file appinfo.h.

Referenced by CMainWindow::OnCommand(), and CMainWindow::UpdateApplicationsList().

◆ IsInstalledEnum()

◆ IsKnownLicenseType()

BOOL IsKnownLicenseType ( INT  x)
inline

Definition at line 19 of file appinfo.h.

20{
21 return (x > LICENSE_NONE && x <= LICENSE_MAX);
22}

Referenced by CAvailableApplicationInfo::LicenseString().

◆ UninstallGenerated()

BOOL UninstallGenerated ( CInstalledApplicationInfo AppInfo,
UninstallCommandFlags  Flags 
)

Definition at line 828 of file geninst.cpp.

829{
831 g_pInfo = &Info;
832 return CreateUI(Info.Silent, UninstallThread) ? !Info.Error : FALSE;
833}
static DWORD CALLBACK UninstallThread(LPVOID Parameter)
Definition: geninst.cpp:693
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

Referenced by CInstalledApplicationInfo::UninstallApplication().