--- a/jdk/src/windows/native/sun/jkernel/DownloadDialog.h Tue Feb 15 12:34:33 2011 -0800
+++ /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_