Leaked source code of windows server 2003
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.

446 lines
8.4 KiB

  1. /*++
  2. Copyright (c) 1994-2000 Microsoft Corporation
  3. Module Name :
  4. WebAddNew.cpp
  5. Abstract:
  6. Classes for new Web site and virtual directory creation
  7. Author:
  8. Sergei Antonov (sergeia)
  9. Project:
  10. Internet Services Manager
  11. Revision History:
  12. 12/12/2000 sergeia Initial creation
  13. --*/
  14. #ifndef _WEB_NEW_WIZARD_H
  15. #define _WEB_NEW_WIZARD_H
  16. class CWebWizSettings : public CObjectPlus
  17. /*++
  18. Class Description:
  19. Web Wizard settings intended to pass along from page
  20. to page
  21. --*/
  22. {
  23. //
  24. // Constructor/Destructor
  25. //
  26. public:
  27. CWebWizSettings(
  28. IN CMetaKey * pMetaKey,
  29. IN LPCTSTR lpszServerName,
  30. IN DWORD dwInstance = MASTER_INSTANCE,
  31. IN LPCTSTR lpszParent = NULL
  32. );
  33. //
  34. // Public Properties
  35. //
  36. public:
  37. BOOL m_fLocal;
  38. BOOL m_fUNC;
  39. BOOL m_fRead;
  40. BOOL m_fWrite;
  41. BOOL m_fAllowAnonymous;
  42. BOOL m_fDirBrowsing;
  43. BOOL m_fScript;
  44. BOOL m_fExecute;
  45. BOOL m_fNewSite;
  46. BOOL m_fDelegation;
  47. DWORD m_dwInstance;
  48. DWORD m_dwVersionMajor;
  49. DWORD m_dwVersionMinor;
  50. CString m_strService;
  51. CString m_strParent;
  52. CString m_strServerName;
  53. CString m_strDescription;
  54. CString m_strBinding;
  55. CString m_strSecureBinding;
  56. CString m_strAlias;
  57. CString m_strPath;
  58. CString m_strUserName;
  59. CStrPassword m_strPassword;
  60. HRESULT m_hrResult;
  61. CMetaKey * m_pKey;
  62. };
  63. //
  64. // New Virtual Server Wizard Description Page
  65. //
  66. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  67. class CWebWizDescription : public CIISWizardPage
  68. {
  69. DECLARE_DYNCREATE(CWebWizDescription)
  70. //
  71. // Construction
  72. //
  73. public:
  74. CWebWizDescription(CWebWizSettings * pwsSettings = NULL);
  75. ~CWebWizDescription();
  76. //
  77. // Dialog Data
  78. //
  79. protected:
  80. //{{AFX_DATA(CWebWizDescription)
  81. enum { IDD = IDD_WEB_NEW_INST_DESCRIPTION };
  82. CEdit m_edit_Description;
  83. //}}AFX_DATA
  84. //
  85. // Overrides
  86. //
  87. protected:
  88. //{{AFX_VIRTUAL(CWebWizDescription)
  89. public:
  90. virtual BOOL OnSetActive();
  91. virtual LRESULT OnWizardNext();
  92. protected:
  93. virtual void DoDataExchange(CDataExchange * pDX);
  94. //}}AFX_VIRTUAL
  95. //
  96. // Implementation
  97. //
  98. protected:
  99. //{{AFX_MSG(CWebWizDescription)
  100. afx_msg void OnChangeEditDescription();
  101. //}}AFX_MSG
  102. DECLARE_MESSAGE_MAP()
  103. void SetControlStates();
  104. private:
  105. CWebWizSettings * m_pSettings;
  106. };
  107. //
  108. // New Virtual Server Wizard Bindings Page
  109. //
  110. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  111. class CWebWizBindings : public CIISWizardPage
  112. {
  113. DECLARE_DYNCREATE(CWebWizBindings)
  114. //
  115. // Construction
  116. //
  117. public:
  118. CWebWizBindings(
  119. IN CWebWizSettings * pwsSettings = NULL,
  120. IN DWORD dwInstance = MASTER_INSTANCE
  121. );
  122. ~CWebWizBindings();
  123. //
  124. // Dialog Data
  125. //
  126. protected:
  127. //{{AFX_DATA(CWebWizBindings)
  128. enum { IDD = IDD_WEB_NEW_INST_BINDINGS };
  129. int m_nIpAddressSel;
  130. UINT m_nTCPPort;
  131. UINT m_nSSLPort;
  132. CString m_strDomainName;
  133. CComboBox m_combo_IpAddresses;
  134. //}}AFX_DATA
  135. BOOL m_fCertInstalled;
  136. CIPAddress m_iaIpAddress;
  137. CObListPlus m_oblIpAddresses;
  138. //
  139. // Overrides
  140. //
  141. protected:
  142. //{{AFX_VIRTUAL(CWebWizBindings)
  143. public:
  144. virtual BOOL OnSetActive();
  145. virtual LRESULT OnWizardNext();
  146. protected:
  147. virtual void DoDataExchange(CDataExchange * pDX);
  148. //}}AFX_VIRTUAL
  149. //
  150. // Implementation
  151. //
  152. protected:
  153. //{{AFX_MSG(CWebWizBindings)
  154. virtual BOOL OnInitDialog();
  155. //}}AFX_MSG
  156. DECLARE_MESSAGE_MAP()
  157. void SetControlStates();
  158. private:
  159. BOOL m_bNextPage;
  160. DWORD m_dwInstance;
  161. CWebWizSettings * m_pSettings;
  162. };
  163. //
  164. // New Virtual Directory Wizard Alias Page
  165. //
  166. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  167. class CWebWizAlias : public CIISWizardPage
  168. {
  169. DECLARE_DYNCREATE(CWebWizAlias)
  170. //
  171. // Construction
  172. //
  173. public:
  174. CWebWizAlias(CWebWizSettings * pwsSettings = NULL);
  175. ~CWebWizAlias();
  176. //
  177. // Dialog Data
  178. //
  179. protected:
  180. //{{AFX_DATA(CWebWizAlias)
  181. enum { IDD = IDD_WEB_NEW_DIR_ALIAS };
  182. CEdit m_edit_Alias;
  183. //}}AFX_DATA
  184. //
  185. // Overrides
  186. //
  187. protected:
  188. //{{AFX_VIRTUAL(CWebWizAlias)
  189. public:
  190. virtual BOOL OnSetActive();
  191. virtual LRESULT OnWizardNext();
  192. protected:
  193. virtual void DoDataExchange(CDataExchange * pDX);
  194. //}}AFX_VIRTUAL
  195. //
  196. // Implementation
  197. //
  198. protected:
  199. //{{AFX_MSG(CWebWizAlias)
  200. afx_msg void OnChangeEditAlias();
  201. //}}AFX_MSG
  202. DECLARE_MESSAGE_MAP()
  203. void SetControlStates();
  204. private:
  205. CWebWizSettings * m_pSettings;
  206. };
  207. //
  208. // Wizard Path Page
  209. //
  210. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  211. class CWebWizPath : public CIISWizardPage
  212. {
  213. DECLARE_DYNCREATE(CWebWizPath)
  214. //
  215. // Construction
  216. //
  217. public:
  218. CWebWizPath(
  219. IN CWebWizSettings * pwsSettings = NULL,
  220. IN BOOL bVDir = TRUE
  221. );
  222. ~CWebWizPath();
  223. int BrowseForFolderCallback(HWND hwnd, UINT uMsg, LPARAM lParam);
  224. //
  225. // Dialog Data
  226. //
  227. protected:
  228. //{{AFX_DATA(CWebWizPath)
  229. enum { IDD = -1 };
  230. CButton m_button_Browse;
  231. CEdit m_edit_Path;
  232. //}}AFX_DATA
  233. //
  234. // Overrides
  235. //
  236. protected:
  237. //{{AFX_VIRTUAL(CWebWizPath)
  238. public:
  239. virtual BOOL OnSetActive();
  240. virtual LRESULT OnWizardNext();
  241. protected:
  242. virtual void DoDataExchange(CDataExchange * pDX);
  243. //}}AFX_VIRTUAL
  244. //
  245. // Implementation
  246. //
  247. protected:
  248. //{{AFX_MSG(CWebWizPath)
  249. afx_msg void OnChangeEditPath();
  250. afx_msg void OnButtonBrowse();
  251. virtual BOOL OnInitDialog();
  252. //}}AFX_MSG
  253. DECLARE_MESSAGE_MAP()
  254. void SetControlStates();
  255. private:
  256. CWebWizSettings * m_pSettings;
  257. LPTSTR m_pPathTemp;
  258. CString m_strBrowseTitle;
  259. };
  260. //
  261. // Wizard User/Password Page
  262. //
  263. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  264. class CWebWizUserName : public CIISWizardPage
  265. {
  266. DECLARE_DYNCREATE(CWebWizUserName)
  267. //
  268. // Construction
  269. //
  270. public:
  271. CWebWizUserName(
  272. IN CWebWizSettings * pwsSettings = NULL,
  273. IN BOOL bVDir = TRUE
  274. );
  275. ~CWebWizUserName();
  276. //
  277. // Dialog Data
  278. //
  279. protected:
  280. //{{AFX_DATA(CWebWizUserName)
  281. enum { IDD = IDD_WEB_NEW_USER_PASSWORD };
  282. CEdit m_edit_Password;
  283. CEdit m_edit_UserName;
  284. CButton m_chk_Delegation;
  285. //}}AFX_DATA
  286. //
  287. // Overrides
  288. //
  289. protected:
  290. //{{AFX_VIRTUAL(CWebWizUserName)
  291. public:
  292. virtual BOOL OnSetActive();
  293. virtual LRESULT OnWizardNext();
  294. virtual LRESULT OnWizardBack();
  295. protected:
  296. virtual void DoDataExchange(CDataExchange * pDX);
  297. //}}AFX_VIRTUAL
  298. //
  299. // Implementation
  300. //
  301. protected:
  302. //{{AFX_MSG(CWebWizUserName)
  303. afx_msg void OnButtonBrowseUsers();
  304. afx_msg void OnChangeEditUsername();
  305. afx_msg void OnButtonCheckPassword();
  306. afx_msg void OnCheckDelegation();
  307. virtual BOOL OnInitDialog();
  308. //}}AFX_MSG
  309. DECLARE_MESSAGE_MAP()
  310. void SetControlStates();
  311. private:
  312. CWebWizSettings * m_pSettings;
  313. BOOL m_fMovingBack;
  314. };
  315. //
  316. // Wizard Permissions Page
  317. //
  318. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  319. class CWebWizPermissions : public CIISWizardPage
  320. {
  321. DECLARE_DYNCREATE(CWebWizPermissions)
  322. //
  323. // Construction
  324. //
  325. public:
  326. CWebWizPermissions(
  327. IN CWebWizSettings * pwsSettings = NULL,
  328. IN BOOL bVDir = TRUE
  329. );
  330. ~CWebWizPermissions();
  331. //
  332. // Dialog Data
  333. //
  334. protected:
  335. //{{AFX_DATA(CWebWizPermissions)
  336. enum { IDD = IDD_WEB_NEW_PERMS };
  337. //}}AFX_DATA
  338. //
  339. // Overrides
  340. //
  341. protected:
  342. //{{AFX_VIRTUAL(CWebWizPermissions)
  343. public:
  344. virtual BOOL OnSetActive();
  345. virtual LRESULT OnWizardNext();
  346. protected:
  347. virtual void DoDataExchange(CDataExchange * pDX);
  348. //}}AFX_VIRTUAL
  349. //
  350. // Implementation
  351. //
  352. protected:
  353. //{{AFX_MSG(CWebWizPermissions)
  354. //}}AFX_MSG
  355. DECLARE_MESSAGE_MAP()
  356. void SetControlStates();
  357. private:
  358. BOOL m_bVDir;
  359. CWebWizSettings * m_pSettings;
  360. };
  361. #endif //_WEB_NEW_WIZARD_H