ReactOS 0.4.16-dev-297-gc569aee
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_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_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 }
 
enum  InstallerType { INSTALLER_UNKNOWN , INSTALLER_GENERATE }
 

Functions

BOOL IsKnownLicenseType (INT x)
 
BOOL IsAvailableEnum (INT x)
 
BOOL IsInstalledEnum (INT x)
 
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 80 of file appinfo.h.

◆ DB_GENINSTSECTION

#define DB_GENINSTSECTION   L"Generate"

Definition at line 86 of file appinfo.h.

◆ DB_INSTALLER

#define DB_INSTALLER   L"Installer"

Definition at line 83 of file appinfo.h.

◆ DB_PUBLISHER

#define DB_PUBLISHER   L"Publisher"

Definition at line 81 of file appinfo.h.

◆ DB_REGNAME

#define DB_REGNAME   L"RegName"

Definition at line 82 of file appinfo.h.

◆ DB_SCOPE

#define DB_SCOPE   L"Scope"

Definition at line 84 of file appinfo.h.

◆ DB_VERSION

#define DB_VERSION   L"Version"

Definition at line 79 of file appinfo.h.

◆ GENERATE_ARPSUBKEY

#define GENERATE_ARPSUBKEY   L"RApps"

Definition at line 87 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_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{
52};
@ 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:46
@ ENUM_AVAILABLE_MAX
Definition: appinfo.h:51
@ 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:49
@ ENUM_INSTALLED_MIN
Definition: appinfo.h:48
@ ENUM_INSTALLED_APPLICATIONS
Definition: appinfo.h:45
@ ENUM_CAT_GRAPHICS
Definition: appinfo.h:29
@ ENUM_CAT_DEVEL
Definition: appinfo.h:33
@ ENUM_INVALID
Definition: appinfo.h:47
@ ENUM_CAT_DRIVERS
Definition: appinfo.h:39
@ ENUM_ALL_INSTALLED
Definition: appinfo.h:44
@ ENUM_CAT_SCIENCE
Definition: appinfo.h:37
@ ENUM_AVAILABLE_MIN
Definition: appinfo.h:50
@ ENUM_CAT_OTHER
Definition: appinfo.h:42

◆ InstallerType

Enumerator
INSTALLER_UNKNOWN 
INSTALLER_GENERATE 

Definition at line 73 of file appinfo.h.

74{
76 INSTALLER_GENERATE, // .zip file automatically converted to installer by rapps
77};
@ INSTALLER_UNKNOWN
Definition: appinfo.h:75
@ INSTALLER_GENERATE
Definition: appinfo.h:76

◆ 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 

Definition at line 66 of file appinfo.h.

67{
68 UCF_NONE = 0x00,
69 UCF_MODIFY = 0x01,
70 UCF_SILENT = 0x02,
71};
@ UCF_NONE
Definition: appinfo.h:68
@ UCF_SILENT
Definition: appinfo.h:70
@ UCF_MODIFY
Definition: appinfo.h:69

Function Documentation

◆ ExtractAndRunGeneratedInstaller()

BOOL ExtractAndRunGeneratedInstaller ( const CAvailableApplicationInfo AppInfo,
LPCWSTR  Archive 
)

Definition at line 649 of file geninst.cpp.

650{
651 InstallInfo Info(AppInfo.szDisplayName, *AppInfo.GetConfigParser(), Archive);
652 g_pInfo = &Info;
653 return CreateUI(Info.Silent, ExtractAndInstallThread) ? !Info.Error : FALSE;
654}
CStringW szDisplayName
Definition: appinfo.h:102
CConfigParser * GetConfigParser() const
Definition: appinfo.h:155
#define FALSE
Definition: types.h:117
static DWORD CALLBACK ExtractAndInstallThread(LPVOID Parameter)
Definition: geninst.cpp:431
static struct CommonInfo * g_pInfo
static BOOL CreateUI(BOOL Silent, LPTHREAD_START_ROUTINE ThreadProc)
Definition: geninst.cpp:618
_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 55 of file appinfo.h.

56{
57 return (x >= ENUM_AVAILABLE_MIN && x <= ENUM_AVAILABLE_MAX);
58}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548

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 809 of file geninst.cpp.

810{
812 g_pInfo = &Info;
813 return CreateUI(Info.Silent, UninstallThread) ? !Info.Error : FALSE;
814}
static DWORD CALLBACK UninstallThread(LPVOID Parameter)
Definition: geninst.cpp:674
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

Referenced by CInstalledApplicationInfo::UninstallApplication().