ReactOS 0.4.15-dev-6680-g8c76870
loaddlg.cpp File Reference
#include "rapps.h"
#include <shlobj_undoc.h>
#include <shlguid_undoc.h>
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <wininet.h>
#include <shellutils.h>
#include <debug.h>
#include <ui/rosctrls.h>
#include <windowsx.h>
#include <process.h>
#include "rosui.h"
#include "dialogs.h"
#include "misc.h"
Include dependency graph for loaddlg.cpp:

Go to the source code of this file.

Classes

struct  DownloadInfo
 
struct  DownloadParam
 
class  CDownloaderProgress
 
class  CDowloadingAppsListView
 
class  CDownloadManager
 

Macros

#define MARGIN   10
 

Enumerations

enum  DownloadType { DLTYPE_APPLICATION , DLTYPE_DBUPDATE , DLTYPE_DBUPDATE_UNOFFICIAL }
 
enum  DownloadStatus {
  DLSTATUS_WAITING = IDS_STATUS_WAITING , DLSTATUS_DOWNLOADING = IDS_STATUS_DOWNLOADING , DLSTATUS_WAITING_INSTALL = IDS_STATUS_DOWNLOADED , DLSTATUS_INSTALLING = IDS_STATUS_INSTALLING ,
  DLSTATUS_INSTALLED = IDS_STATUS_INSTALLED , DLSTATUS_FINISHED = IDS_STATUS_FINISHED
}
 

Functions

CStringW LoadStatusString (DownloadStatus StatusParam)
 
VOID MessageBox_LoadString (HWND hMainWnd, INT StringID)
 
BOOL ShowLastError (HWND hWndOwner, BOOL bInetError, DWORD dwLastError)
 
BOOL DownloadListOfApplications (const CAtlList< CAppInfo * > &AppsList, BOOL bIsModal)
 
BOOL DownloadApplication (CAppInfo *pAppInfo)
 
VOID DownloadApplicationsDB (LPCWSTR lpUrl, BOOL IsOfficial)
 

Variables

BOOL UrlHasBeenCopied
 

Macro Definition Documentation

◆ MARGIN

#define MARGIN   10

Enumeration Type Documentation

◆ DownloadStatus

Enumerator
DLSTATUS_WAITING 
DLSTATUS_DOWNLOADING 
DLSTATUS_WAITING_INSTALL 
DLSTATUS_INSTALLING 
DLSTATUS_INSTALLED 
DLSTATUS_FINISHED 

Definition at line 65 of file loaddlg.cpp.

66{
73};
#define IDS_STATUS_FINISHED
Definition: resource.h:201
#define IDS_STATUS_WAITING
Definition: resource.h:200
#define IDS_STATUS_INSTALLING
Definition: resource.h:199
#define IDS_STATUS_DOWNLOADED
Definition: resource.h:196
#define IDS_STATUS_DOWNLOADING
Definition: resource.h:198
#define IDS_STATUS_INSTALLED
Definition: resource.h:194
@ DLSTATUS_DOWNLOADING
Definition: loaddlg.cpp:68
@ DLSTATUS_FINISHED
Definition: loaddlg.cpp:72
@ DLSTATUS_WAITING_INSTALL
Definition: loaddlg.cpp:69
@ DLSTATUS_WAITING
Definition: loaddlg.cpp:67
@ DLSTATUS_INSTALLED
Definition: loaddlg.cpp:71
@ DLSTATUS_INSTALLING
Definition: loaddlg.cpp:70

◆ DownloadType

Enumerator
DLTYPE_APPLICATION 
DLTYPE_DBUPDATE 
DLTYPE_DBUPDATE_UNOFFICIAL 

Definition at line 58 of file loaddlg.cpp.

59{
63};
@ DLTYPE_DBUPDATE_UNOFFICIAL
Definition: loaddlg.cpp:62
@ DLTYPE_DBUPDATE
Definition: loaddlg.cpp:61
@ DLTYPE_APPLICATION
Definition: loaddlg.cpp:60

Function Documentation

◆ DownloadApplication()

BOOL DownloadApplication ( CAppInfo pAppInfo)

Definition at line 1079 of file loaddlg.cpp.

1080{
1081 if (!pAppInfo)
1082 return FALSE;
1083
1085 return TRUE;
1086}
static VOID Download(const DownloadInfo &DLInfo, BOOL bIsModal=FALSE)
Definition: loaddlg.cpp:424
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117

Referenced by CMainWindow::InstallApplication().

◆ DownloadApplicationsDB()

VOID DownloadApplicationsDB ( LPCWSTR  lpUrl,
BOOL  IsOfficial 
)

Definition at line 1089 of file loaddlg.cpp.

1090{
1091 static DownloadInfo DatabaseDLInfo;
1092 DatabaseDLInfo.szUrl = lpUrl;
1093 DatabaseDLInfo.szName.LoadStringW(IDS_DL_DIALOG_DB_DISP);
1094 DatabaseDLInfo.DLType = IsOfficial ? DLTYPE_DBUPDATE : DLTYPE_DBUPDATE_UNOFFICIAL;
1095 CDownloadManager::Download(DatabaseDLInfo, TRUE);
1096}
#define IDS_DL_DIALOG_DB_DISP
Definition: resource.h:217
CStringW szName
Definition: loaddlg.cpp:96
DownloadType DLType
Definition: loaddlg.cpp:94
CStringW szUrl
Definition: loaddlg.cpp:95

Referenced by CAppDB::UpdateAvailable().

◆ DownloadListOfApplications()

BOOL DownloadListOfApplications ( const CAtlList< CAppInfo * > &  AppsList,
BOOL  bIsModal 
)

Definition at line 1060 of file loaddlg.cpp.

1061{
1062 if (AppsList.IsEmpty())
1063 return FALSE;
1064
1065 POSITION CurrentListPosition = AppsList.GetHeadPosition();
1066 while (CurrentListPosition)
1067 {
1068 const CAppInfo *Info = AppsList.GetNext(CurrentListPosition);
1070 }
1071
1072 // Create a dialog and issue a download process
1074
1075 return TRUE;
1076}
bool IsEmpty() const
Definition: atlcoll.h:545
POSITION GetHeadPosition() const
Definition: atlcoll.h:551
E & GetNext(_Inout_ POSITION &pos)
Definition: atlcoll.h:563
static VOID Add(DownloadInfo info)
Definition: loaddlg.cpp:418
static VOID LaunchDownloadDialog(BOOL)
Definition: loaddlg.cpp:1045
_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 HandleInstallCommand(), HandleSetupCommand(), and CMainWindow::OnCommand().

◆ LoadStatusString()

CStringW LoadStatusString ( DownloadStatus  StatusParam)

Definition at line 76 of file loaddlg.cpp.

77{
78 CStringW szString;
79 szString.LoadStringW(StatusParam);
80 return szString;
81}

Referenced by CDowloadingAppsListView::AddRow(), CDowloadingAppsListView::SetDownloadStatus(), and CDownloadManager::ThreadFunc().

◆ MessageBox_LoadString()

VOID MessageBox_LoadString ( HWND  hMainWnd,
INT  StringID 
)
inline

Definition at line 378 of file loaddlg.cpp.

379{
380 CStringW szMsgText;
381 if (szMsgText.LoadStringW(StringID))
382 {
384 }
385}
#define NULL
Definition: types.h:112
HWND hMainWnd
Definition: magnifier.c:32
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
#define MB_ICONERROR
Definition: winuser.h:781
#define MB_OK
Definition: winuser.h:784

Referenced by CDownloadManager::ThreadFunc().

◆ ShowLastError()

BOOL ShowLastError ( HWND  hWndOwner,
BOOL  bInetError,
DWORD  dwLastError 
)

Definition at line 576 of file loaddlg.cpp.

577{
578 CLocalPtr<WCHAR> lpMsg;
579
580 if (!FormatMessageW(
583 (bInetError ? GetModuleHandleW(L"wininet.dll") : NULL), dwLastError, LANG_USER_DEFAULT, (LPWSTR)&lpMsg, 0,
584 NULL))
585 {
586 DPRINT1("FormatMessageW unexpected failure (err %d)\n", GetLastError());
587 return FALSE;
588 }
589
590 MessageBoxW(hWndOwner, lpMsg, NULL, MB_OK | MB_ICONERROR);
591 return TRUE;
592}
#define DPRINT1
Definition: precomp.h:8
Definition: misc.h:53
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
#define L(x)
Definition: ntvdm.h:50
#define LANG_USER_DEFAULT
Definition: tnerror.cpp:50
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define FORMAT_MESSAGE_IGNORE_INSERTS
Definition: winbase.h:420
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:423
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:419
#define FORMAT_MESSAGE_FROM_HMODULE
Definition: winbase.h:422
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by CDownloadManager::ThreadFunc().

Variable Documentation

◆ UrlHasBeenCopied

BOOL UrlHasBeenCopied

Definition at line 532 of file loaddlg.cpp.

Referenced by CDownloadManager::ThreadFunc(), and CDownloadManager::UpdateProgress().