Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.4 KiB

  1. //
  2. // Copyright 1997 - Microsoft
  3. //
  4. // ADDWIZ.H - "Add" sif or image wizard class
  5. //
  6. #ifndef _ADDWIZ_H_
  7. #define _ADDWIZ_H_
  8. // Definitions
  9. HRESULT
  10. CAddWiz_CreateInstance( HWND hwndParent, LPUNKNOWN punk );
  11. class CAddWiz;
  12. typedef CAddWiz* LPCADDWIZ;
  13. typedef HRESULT (*LPNEXTOP)( LPCADDWIZ lpc );
  14. // CAddWiz
  15. class
  16. CAddWiz
  17. {
  18. private:
  19. WCHAR _szNA[ 32 ];
  20. WCHAR _szLocation[ 67 ];
  21. LPUNKNOWN _punk;
  22. HWND _hDlg;
  23. HWND _hwndList;
  24. LPWSTR _pszPathBuffer;
  25. // "Add Wizard" flags
  26. BOOL _fAddSif:1;
  27. BOOL _fNewImage:1;
  28. BOOL _fCopyFromServer:1;
  29. BOOL _fCopyFromSamples:1;
  30. BOOL _fCopyFromLocation:1;
  31. BOOL _fDestPathIncludesSIF:1;
  32. BOOL _fShowedPage8:1;
  33. BOOL _fSIFCanExist:1;
  34. LPWSTR _pszServerName;
  35. LPWSTR _pszSourcePath;
  36. LPWSTR _pszSourceImage;
  37. LPWSTR _pszDestPath;
  38. LPWSTR _pszDestImage;
  39. LPWSTR _pszSourceServerName;
  40. WCHAR _szDescription[ REMOTE_INSTALL_MAX_DESCRIPTION_CHAR_COUNT ];
  41. WCHAR _szHelpText[ REMOTE_INSTALL_MAX_HELPTEXT_CHAR_COUNT ];
  42. private: // Methods
  43. CAddWiz();
  44. ~CAddWiz();
  45. STDMETHOD(Init)( HWND hwndParent, LPUNKNOWN punk );
  46. // Property Sheet Functions
  47. static INT_PTR CALLBACK
  48. PropSheetDlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  49. static UINT CALLBACK
  50. PropSheetPageProc( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp );
  51. static INT_PTR CALLBACK
  52. EditSIFDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  53. static INT_PTR CALLBACK
  54. Page1DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  55. static INT_PTR CALLBACK
  56. Page2DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  57. static INT_PTR CALLBACK
  58. Page3DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  59. static INT_PTR CALLBACK
  60. Page4DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  61. static INT_PTR CALLBACK
  62. Page5DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  63. static INT_PTR CALLBACK
  64. Page6DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  65. static INT_PTR CALLBACK
  66. Page7DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  67. static INT_PTR CALLBACK
  68. Page8DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  69. static INT_PTR CALLBACK
  70. Page9DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  71. static INT_PTR CALLBACK
  72. Page10DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  73. INT _VerifyCancel( HWND hDlg );
  74. STDMETHOD(_PopulateSamplesListView)( LPWSTR pszStartPath );
  75. STDMETHOD(_PopulateTemplatesListView)( LPWSTR pszStartPath );
  76. STDMETHOD(_PopulateImageListView)( LPWSTR pszStartPath );
  77. STDMETHOD(_FindLanguageDirectory)( LPNEXTOP lpNextOperation );
  78. STDMETHOD(_FindOSDirectory)( LPNEXTOP lpNextOperation );
  79. STDMETHOD(_EnumeratePlatforms)( LPNEXTOP lpNextOperation );
  80. static HRESULT _EnumerateTemplates( LPCADDWIZ lpc );
  81. static HRESULT _EnumerateImages( LPCADDWIZ lpc );
  82. STDMETHOD(_CheckImageType)( );
  83. STDMETHOD(_EnumerateSIFs)( );
  84. STDMETHOD(_AddItemToListView)( );
  85. STDMETHOD(_CleanupSIFInfo)( LPSIFINFO pSIF );
  86. STDMETHOD(_InitListView)( HWND hwndList, BOOL fShowDirectoryColumn );
  87. static HRESULT _OnSearch( HWND hwndParent );
  88. public: // Methods
  89. friend HRESULT CAddWiz_CreateInstance( HWND hwndParent, LPUNKNOWN punk );
  90. };
  91. #endif // _ADDWIZ_H_