jdk/src/windows/native/sun/jkernel/DownloadDialog.h
changeset 8197 e45f21c2a40b
parent 7867 f83cd8bd35c6
child 8198 aca2f99e4b52
--- a/jdk/src/windows/native/sun/jkernel/DownloadDialog.h	Wed Jul 05 17:32:52 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-//
-// DownloadDialog.h : Declaration of the CDownloadDialog
-//
-
-#ifndef __DOWNLOADDIALOG_H_
-#define __DOWNLOADDIALOG_H_
-
-#include "resource.h"       // main symbols
-#include <time.h>
-#include "jni.h"
-
-#ifndef BUFFER_SIZE
-#define BUFFER_SIZE 2048
-#endif
-
-#define iTimerID    1000
-#define destroyWindowTimerID    2000
-
-#define E_JDHELPER_TIMEOUT               12002
-#define E_JDHELPER_NAME_NOT_RESOLVED     12007
-#define E_JDHELPER_CANNOT_CONNECT        12029
-
-/* Following lines were copied from the new version of commctrl.h
-   These definitions are not available in default version of
-   this header file in VS 2003 but they are needed to use
-   new Vista task dialog API.
-*/
-#ifndef TD_ERROR_ICON
-
-/* These modifiers have sense with new VS only,
-   reset them to get code to compile */
-#define __in
-#define __in_opt
-#define __out_opt
-
-#ifdef _WIN32
-#include <pshpack1.h>
-#endif
-
-
-typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(HWND hwnd, __in UINT msg, __in WPARAM wParam, __in LPARAM lParam, __in LONG_PTR lpRefData);
-
-enum _TASKDIALOG_FLAGS
-{
-    TDF_ENABLE_HYPERLINKS               = 0x0001,
-    TDF_USE_HICON_MAIN                  = 0x0002,
-    TDF_USE_HICON_FOOTER                = 0x0004,
-    TDF_ALLOW_DIALOG_CANCELLATION       = 0x0008,
-    TDF_USE_COMMAND_LINKS               = 0x0010,
-    TDF_USE_COMMAND_LINKS_NO_ICON       = 0x0020,
-    TDF_EXPAND_FOOTER_AREA              = 0x0040,
-    TDF_EXPANDED_BY_DEFAULT             = 0x0080,
-    TDF_VERIFICATION_FLAG_CHECKED       = 0x0100,
-    TDF_SHOW_PROGRESS_BAR               = 0x0200,
-    TDF_SHOW_MARQUEE_PROGRESS_BAR       = 0x0400,
-    TDF_CALLBACK_TIMER                  = 0x0800,
-    TDF_POSITION_RELATIVE_TO_WINDOW     = 0x1000,
-    TDF_RTL_LAYOUT                      = 0x2000,
-    TDF_NO_DEFAULT_RADIO_BUTTON         = 0x4000,
-    TDF_CAN_BE_MINIMIZED                = 0x8000
-};
-typedef int TASKDIALOG_FLAGS;                         // Note: _TASKDIALOG_FLAGS is an int
-
-typedef enum _TASKDIALOG_MESSAGES
-{
-    TDM_NAVIGATE_PAGE                   = WM_USER+101,
-    TDM_CLICK_BUTTON                    = WM_USER+102, // wParam = Button ID
-    TDM_SET_MARQUEE_PROGRESS_BAR        = WM_USER+103, // wParam = 0 (nonMarque) wParam != 0 (Marquee)
-    TDM_SET_PROGRESS_BAR_STATE          = WM_USER+104, // wParam = new progress state
-    TDM_SET_PROGRESS_BAR_RANGE          = WM_USER+105, // lParam = MAKELPARAM(nMinRange, nMaxRange)
-    TDM_SET_PROGRESS_BAR_POS            = WM_USER+106, // wParam = new position
-    TDM_SET_PROGRESS_BAR_MARQUEE        = WM_USER+107, // wParam = 0 (stop marquee), wParam != 0 (start marquee), lparam = speed (milliseconds between repaints)
-    TDM_SET_ELEMENT_TEXT                = WM_USER+108, // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
-    TDM_CLICK_RADIO_BUTTON              = WM_USER+110, // wParam = Radio Button ID
-    TDM_ENABLE_BUTTON                   = WM_USER+111, // lParam = 0 (disable), lParam != 0 (enable), wParam = Button ID
-    TDM_ENABLE_RADIO_BUTTON             = WM_USER+112, // lParam = 0 (disable), lParam != 0 (enable), wParam = Radio Button ID
-    TDM_CLICK_VERIFICATION              = WM_USER+113, // wParam = 0 (unchecked), 1 (checked), lParam = 1 (set key focus)
-    TDM_UPDATE_ELEMENT_TEXT             = WM_USER+114, // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
-    TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER+115, // wParam = Button ID, lParam = 0 (elevation not required), lParam != 0 (elevation required)
-    TDM_UPDATE_ICON                     = WM_USER+116  // wParam = icon element (TASKDIALOG_ICON_ELEMENTS), lParam = new icon (hIcon if TDF_USE_HICON_* was set, PCWSTR otherwise)
-} TASKDIALOG_MESSAGES;
-
-typedef enum _TASKDIALOG_NOTIFICATIONS
-{
-    TDN_CREATED                         = 0,
-    TDN_NAVIGATED                       = 1,
-    TDN_BUTTON_CLICKED                  = 2,            // wParam = Button ID
-    TDN_HYPERLINK_CLICKED               = 3,            // lParam = (LPCWSTR)pszHREF
-    TDN_TIMER                           = 4,            // wParam = Milliseconds since dialog created or timer reset
-    TDN_DESTROYED                       = 5,
-    TDN_RADIO_BUTTON_CLICKED            = 6,            // wParam = Radio Button ID
-    TDN_DIALOG_CONSTRUCTED              = 7,
-    TDN_VERIFICATION_CLICKED            = 8,             // wParam = 1 if checkbox checked, 0 if not, lParam is unused and always 0
-    TDN_HELP                            = 9,
-    TDN_EXPANDO_BUTTON_CLICKED          = 10            // wParam = 0 (dialog is now collapsed), wParam != 0 (dialog is now expanded)
-} TASKDIALOG_NOTIFICATIONS;
-
-typedef struct _TASKDIALOG_BUTTON
-{
-    int     nButtonID;
-    PCWSTR  pszButtonText;
-} TASKDIALOG_BUTTON;
-
-typedef enum _TASKDIALOG_ELEMENTS
-{
-    TDE_CONTENT,
-    TDE_EXPANDED_INFORMATION,
-    TDE_FOOTER,
-    TDE_MAIN_INSTRUCTION
-} TASKDIALOG_ELEMENTS;
-
-typedef enum _TASKDIALOG_ICON_ELEMENTS
-{
-    TDIE_ICON_MAIN,
-    TDIE_ICON_FOOTER
-} TASKDIALOG_ICON_ELEMENTS;
-
-#define TD_WARNING_ICON         MAKEINTRESOURCEW(-1)
-#define TD_ERROR_ICON           MAKEINTRESOURCEW(-2)
-#define TD_INFORMATION_ICON     MAKEINTRESOURCEW(-3)
-#define TD_SHIELD_ICON          MAKEINTRESOURCEW(-4)
-
-
-enum _TASKDIALOG_COMMON_BUTTON_FLAGS
-{
-    TDCBF_OK_BUTTON            = 0x0001, // selected control return value IDOK
-    TDCBF_YES_BUTTON           = 0x0002, // selected control return value IDYES
-    TDCBF_NO_BUTTON            = 0x0004, // selected control return value IDNO
-    TDCBF_CANCEL_BUTTON        = 0x0008, // selected control return value IDCANCEL
-    TDCBF_RETRY_BUTTON         = 0x0010, // selected control return value IDRETRY
-    TDCBF_CLOSE_BUTTON         = 0x0020  // selected control return value IDCLOSE
-};
-typedef int TASKDIALOG_COMMON_BUTTON_FLAGS;           // Note: _TASKDIALOG_COMMON_BUTTON_FLAGS is an int
-
-typedef struct _TASKDIALOGCONFIG
-{
-    UINT        cbSize;
-    HWND        hwndParent;
-    HINSTANCE   hInstance;                              // used for MAKEINTRESOURCE() strings
-    TASKDIALOG_FLAGS                dwFlags;            // TASKDIALOG_FLAGS (TDF_XXX) flags
-    TASKDIALOG_COMMON_BUTTON_FLAGS  dwCommonButtons;    // TASKDIALOG_COMMON_BUTTON (TDCBF_XXX) flags
-    PCWSTR      pszWindowTitle;                         // string or MAKEINTRESOURCE()
-    union
-    {
-        HICON   hMainIcon;
-        PCWSTR  pszMainIcon;
-    };
-    PCWSTR      pszMainInstruction;
-    PCWSTR      pszContent;
-    UINT        cButtons;
-    const TASKDIALOG_BUTTON  *pButtons;
-    int         nDefaultButton;
-    UINT        cRadioButtons;
-    const TASKDIALOG_BUTTON  *pRadioButtons;
-    int         nDefaultRadioButton;
-    PCWSTR      pszVerificationText;
-    PCWSTR      pszExpandedInformation;
-    PCWSTR      pszExpandedControlText;
-    PCWSTR      pszCollapsedControlText;
-    union
-    {
-        HICON   hFooterIcon;
-        PCWSTR  pszFooterIcon;
-    };
-    PCWSTR      pszFooter;
-    PFTASKDIALOGCALLBACK pfCallback;
-    LONG_PTR    lpCallbackData;
-    UINT        cxWidth;                                // width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width.
-} TASKDIALOGCONFIG;
-
-WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *pTaskConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfVerificationFlagChecked);
-WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(__in_opt HWND hwndParent, __in_opt HINSTANCE hInstance, __in_opt PCWSTR pszWindowTitle, __in_opt PCWSTR pszMainInstruction, __in_opt PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, __in_opt PCWSTR pszIcon, __out_opt int *pnButton);
-
-#ifdef _WIN32
-#include <poppack.h>
-#endif
-
-#endif /* end of copy from commctrl.h */
-
-typedef HRESULT (WINAPI *TaskDialogIndirectFn) (const TASKDIALOGCONFIG *pTaskConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfVerificationFlagChecked);
-
-typedef enum {
-    DIALOG_ERROR_RETRYCANCEL = 0,
-    DIALOG_WARNING_CANCELOK
-} DialogType;
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CDownloadDialog
-class CDownloadDialog :
-        public CAxDialogImpl<CDownloadDialog>
-{
-public:
-        CDownloadDialog();
-        ~CDownloadDialog();
-
-        enum { IDD = IDD_DOWNLOAD_DIALOG };
-
-BEGIN_MSG_MAP(CDownloadDialog)
-        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
-        MESSAGE_HANDLER(WM_TIMER, OnTimer)
-        MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtlColorStatic)
-        COMMAND_ID_HANDLER(IDOK, OnOK)
-        COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
-END_MSG_MAP()
-
-        LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-        LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
-        LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
-        LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-        LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-
-        STDMETHODIMP OnStartBinding();
-
-        STDMETHODIMP OnProgress(ULONG ulProgress);
-
-        void initDialogText(LPCTSTR pszDownloadURL, LPCTSTR pszBundleName);
-
-        BOOL isDownloading();
-        BOOL isDownloadCancelled();
-
-        void addToTotalContentLength(DWORD contentLength);
-
-        void decrementProgressMax(ULONG contentLength, ULONG readSoFar);
-
-        void bundleInstallStart();
-        void bundleInstallComplete();
-
-        void waitUntilInitialized();
-
-        void log(char *msg);
-        void logProgress();
-
-        void setFile(LPCTSTR pszFileName)
-        {
-            m_pszFileName = pszFileName;
-        }
-
-        void setURL(LPCTSTR pszURL)
-        {
-            m_pszURL = pszURL;
-        }
-
-        void setNameText(LPTSTR pszNameText)
-        {
-            m_pszNameText = pszNameText;
-        }
-
-
-        JNIEnv* getJNIEnv();
-
-
-        void setJavaVM(JavaVM *jvm)
-        {
-            m_jvm = jvm;
-        }
-
-
-        HRESULT DownloadConfiguration(LPTSTR pszConfigURL, LPTSTR pszConfigFile);
-
-        void delayedDoModal();
-
-        int SafeMessageBox(UINT details, UINT mainInstruction, UINT caption,
-                           DialogType type, LPCWSTR instructionArg = NULL,
-                           LPCWSTR detailsArg = NULL);
-
-        void destroyDialog();
-
-    private:
-
-        HFONT CreateDialogFont (HDC hdc, LPCTSTR lpszFaceName, int ptSize, int isBold = 0);
-        void  FreeGDIResources ();
-
-        BOOL                    m_feedbackOnCancel;
-        TaskDialogIndirectFn    taskDialogFn;
-        LPCTSTR                 m_pszFileName;
-        LPCTSTR                 m_pszURL;
-        time_t                  m_startTime;
-        ULONG                   m_ulProgress;
-        ULONG                   m_ulProgressMax;
-        int                     m_iProgressFactor;
-        int                     m_iMaxProgressFactor;
-        int                     m_numDownloadThreadsRunning;
-        BOOL            m_destroyWindowTimerStarted;
-        volatile BOOL           m_dialogUp;
-        CComAutoCriticalSection m_csDownload;
-        CComAutoCriticalSection m_csNumDownloadThreads;
-        HANDLE                  m_hCancelEvent;
-        HANDLE                  m_hDownloadThreadExitEvent;
-        HANDLE                  m_hDialogInitializedEvent;
-        HFONT                   m_hMastheadFont;
-        HFONT                   m_hDialogFont;
-        HFONT                   m_hSixPointFont;
-        LPTSTR                  m_pszNameText;
-        BITMAP                  m_bmMasthead;
-        HBITMAP                 m_hBitmap;
-        HDC                     m_hMemDC;
-        TCHAR                   m_szUrlPath[BUFFER_SIZE];
-        TCHAR                   m_szHostName[BUFFER_SIZE];
-        JavaVM*                 m_jvm;
-        CComAutoCriticalSection m_csMessageBox;
-};
-
-#endif //__DOWNLOADDIALOG_H_