ReactOS  0.4.15-dev-321-g2d9b385
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 66 of file loaddlg.cpp.

◆ DownloadType

Enumerator
DLTYPE_APPLICATION 
DLTYPE_DBUPDATE 
DLTYPE_DBUPDATE_UNOFFICIAL 

Definition at line 59 of file loaddlg.cpp.

Function Documentation

◆ DownloadApplication()

BOOL DownloadApplication ( CAvailableApplicationInfo pAppInfo,
BOOL  bIsModal 
)

Definition at line 969 of file loaddlg.cpp.

970 {
971  if (!pAppInfo)
972  return FALSE;
973 
974  CDownloadManager::Download(*pAppInfo, bIsModal);
975  return TRUE;
976 }
#define TRUE
Definition: types.h:120
static VOID Download(const DownloadInfo &DLInfo, BOOL bIsModal=FALSE)
Definition: loaddlg.cpp:388

Referenced by CMainWindow::OnCommand().

◆ DownloadApplicationsDB()

VOID DownloadApplicationsDB ( LPCWSTR  lpUrl,
BOOL  IsOfficial 
)

Definition at line 978 of file loaddlg.cpp.

979 {
980  static DownloadInfo DatabaseDLInfo;
981  DatabaseDLInfo.szUrl = lpUrl;
982  DatabaseDLInfo.szName.LoadStringW(IDS_DL_DIALOG_DB_DISP);
983  DatabaseDLInfo.DLType = IsOfficial ? DLTYPE_DBUPDATE : DLTYPE_DBUPDATE_UNOFFICIAL;
984  CDownloadManager::Download(DatabaseDLInfo, TRUE);
985 }
#define TRUE
Definition: types.h:120
#define IDS_DL_DIALOG_DB_DISP
Definition: resource.h:212
static VOID Download(const DownloadInfo &DLInfo, BOOL bIsModal=FALSE)
Definition: loaddlg.cpp:388
DownloadType DLType
Definition: loaddlg.cpp:95
ATL::CStringW szUrl
Definition: loaddlg.cpp:96
ATL::CStringW szName
Definition: loaddlg.cpp:97

Referenced by CAvailableApps::UpdateAppsDB().

◆ DownloadListOfApplications()

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

Definition at line 952 of file loaddlg.cpp.

953 {
954  if (AppsList.GetSize() == 0)
955  return FALSE;
956 
957  // Initialize shared variables
958  for (INT i = 0; i < AppsList.GetSize(); ++i)
959  {
960  CDownloadManager::Add(AppsList[i]); // implicit conversion to DownloadInfo
961  }
962 
963  // Create a dialog and issue a download process
965 
966  return TRUE;
967 }
#define TRUE
Definition: types.h:120
static VOID LaunchDownloadDialog(BOOL)
Definition: loaddlg.cpp:931
int GetSize() const
Definition: atlsimpcoll.h:104
int32_t INT
Definition: typedefs.h:57
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
static VOID Add(DownloadInfo info)
Definition: loaddlg.cpp:383

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

◆ LoadStatusString()

ATL::CStringW LoadStatusString ( DownloadStatus  StatusParam)

Definition at line 76 of file loaddlg.cpp.

77 {
78  ATL::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 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 523 of file loaddlg.cpp.

526 {
527  LPWSTR lpMsg;
528 
532  NULL,
533  dwLastError,
535  (LPWSTR)&lpMsg,
536  0, NULL))
537  {
538  return;
539  }
540 
541  MessageBoxW(hWndOwner, lpMsg, NULL, MB_OK | MB_ICONERROR);
542  LocalFree(lpMsg);
543 }
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
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define MB_OK
Definition: winuser.h:784
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().