ReactOS  0.4.15-dev-1177-g6cb3b62
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 <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
 

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

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

Variables

BOOL UrlHasBeenCopied
 

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.

◆ DownloadType

Enumerator
DLTYPE_APPLICATION 
DLTYPE_DBUPDATE 
DLTYPE_DBUPDATE_UNOFFICIAL 

Definition at line 58 of file loaddlg.cpp.

Function Documentation

◆ DownloadApplication()

BOOL DownloadApplication ( CAvailableApplicationInfo pAppInfo,
BOOL  bIsModal 
)

Definition at line 1017 of file loaddlg.cpp.

1018 {
1019  if (!pAppInfo)
1020  return FALSE;
1021 
1022  CDownloadManager::Download(*pAppInfo, bIsModal);
1023  return TRUE;
1024 }
static VOID Download(const DownloadInfo &DLInfo, BOOL bIsModal=FALSE)
Definition: loaddlg.cpp:388
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117

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

◆ DownloadApplicationsDB()

VOID DownloadApplicationsDB ( LPCWSTR  lpUrl,
BOOL  IsOfficial 
)

Definition at line 1026 of file loaddlg.cpp.

1027 {
1028  static DownloadInfo DatabaseDLInfo;
1029  DatabaseDLInfo.szUrl = lpUrl;
1030  DatabaseDLInfo.szName.LoadStringW(IDS_DL_DIALOG_DB_DISP);
1031  DatabaseDLInfo.DLType = IsOfficial ? DLTYPE_DBUPDATE : DLTYPE_DBUPDATE_UNOFFICIAL;
1032  CDownloadManager::Download(DatabaseDLInfo, TRUE);
1033 }
#define IDS_DL_DIALOG_DB_DISP
Definition: resource.h:217
static VOID Download(const DownloadInfo &DLInfo, BOOL bIsModal=FALSE)
Definition: loaddlg.cpp:388
#define TRUE
Definition: types.h:120
DownloadType DLType
Definition: loaddlg.cpp:94
ATL::CStringW szUrl
Definition: loaddlg.cpp:95
ATL::CStringW szName
Definition: loaddlg.cpp:96

Referenced by CAvailableApps::UpdateAppsDB().

◆ DownloadListOfApplications()

BOOL DownloadListOfApplications ( const ATL::CSimpleArray< CAvailableApplicationInfo > &  AppsList,
BOOL  bIsModal 
)

Definition at line 1000 of file loaddlg.cpp.

1001 {
1002  if (AppsList.GetSize() == 0)
1003  return FALSE;
1004 
1005  // Initialize shared variables
1006  for (INT i = 0; i < AppsList.GetSize(); ++i)
1007  {
1008  CDownloadManager::Add(AppsList[i]); // implicit conversion to DownloadInfo
1009  }
1010 
1011  // Create a dialog and issue a download process
1013 
1014  return TRUE;
1015 }
#define TRUE
Definition: types.h:120
static VOID LaunchDownloadDialog(BOOL)
Definition: loaddlg.cpp:979
int GetSize() const
Definition: atlsimpcoll.h:104
int32_t INT
Definition: typedefs.h:58
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
#define FALSE
Definition: types.h:117
static VOID Add(DownloadInfo info)
Definition: loaddlg.cpp:383

Referenced by HandleInstallCommand(), HandleSetupCommand(), CMainWindow::InstallApplication(), and CMainWindow::OnCommand().

◆ LoadStatusString()

ATL::CStringW LoadStatusString ( DownloadStatus  StatusParam)

Definition at line 75 of file loaddlg.cpp.

76 {
77  ATL::CStringW szString;
78  szString.LoadStringW(StatusParam);
79  return szString;
80 }

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

◆ MessageBox_LoadString()

VOID MessageBox_LoadString ( HWND  hMainWnd,
INT  StringID 
)
inline

Definition at line 349 of file loaddlg.cpp.

350 {
351  ATL::CStringW szMsgText;
352  if (szMsgText.LoadStringW(StringID))
353  {
355  }
356 }
smooth NULL
Definition: ftsmooth.c:416
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
PCXSTR GetString() const
Definition: atlsimpstr.h:361
HWND hMainWnd
Definition: magnifier.c:32
#define MB_ICONERROR
Definition: winuser.h:781
#define MB_OK
Definition: winuser.h:784

Referenced by CDownloadManager::ThreadFunc().

◆ ShowLastError()

VOID ShowLastError ( HWND  hWndOwner,
DWORD  dwLastError 
)

Definition at line 525 of file loaddlg.cpp.

528 {
529  CLocalPtr<WCHAR> lpMsg;
530 
534  NULL,
535  dwLastError,
537  (LPWSTR)&lpMsg,
538  0, NULL))
539  {
540  return;
541  }
542 
543  MessageBoxW(hWndOwner, lpMsg, NULL, MB_OK | MB_ICONERROR);
544 }
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 FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:400
smooth NULL
Definition: ftsmooth.c:416
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:404
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
#define MB_ICONERROR
Definition: winuser.h:781
#define FORMAT_MESSAGE_IGNORE_INSERTS
Definition: winbase.h:401
#define MB_OK
Definition: winuser.h:784
Definition: misc.h:63
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define LANG_USER_DEFAULT
Definition: tnerror.cpp:50

Referenced by CDownloadManager::ThreadFunc().

Variable Documentation

◆ UrlHasBeenCopied

BOOL UrlHasBeenCopied

Definition at line 485 of file loaddlg.cpp.

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