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.

255 lines
5.0 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1995 - 1999
  3. All rights reserved.
  4. Module Name:
  5. srvprop.hxx
  6. Abstract:
  7. Server properties header.
  8. Author:
  9. Steve Kiraly (steveKi) 11-Nov-1995
  10. Revision History:
  11. --*/
  12. #ifndef _LOCPROP_HXX_
  13. #define _LOCPROP_HXX_
  14. class TFindLocDlg;
  15. class TLocationPropertySheet;
  16. /********************************************************************
  17. Location property sheet front end.
  18. ********************************************************************/
  19. class TLocationPropertySheetFrontEnd
  20. {
  21. SIGNATURE( 'lofe' )
  22. public:
  23. TLocationPropertySheetFrontEnd(
  24. IN IShellPropSheetExt *pShellPropSheetExt,
  25. IN LPDATAOBJECT lpdobj,
  26. IN LPFNADDPROPSHEETPAGE lpfnAddPage,
  27. IN LPARAM lParam
  28. );
  29. ~TLocationPropertySheetFrontEnd(
  30. VOID
  31. );
  32. BOOL
  33. bValid(
  34. VOID
  35. ) const;
  36. static
  37. HRESULT
  38. Create(
  39. IN OUT TLocationPropertySheetFrontEnd **ppPropertySheet,
  40. IN IShellPropSheetExt *pShellPropSheetExt,
  41. IN LPDATAOBJECT lpdobj,
  42. IN LPFNADDPROPSHEETPAGE lpfnAddPage,
  43. IN LPARAM lParam
  44. );
  45. static
  46. VOID
  47. Destroy(
  48. IN OUT TLocationPropertySheetFrontEnd **ppPropertySheet
  49. );
  50. BOOL
  51. AddPropertyPages(
  52. IN LPFNADDPROPSHEETPAGE lpfnAddPage,
  53. IN LPARAM lParam
  54. );
  55. BOOL
  56. CreatePropertyPage(
  57. IN LPFNADDPROPSHEETPAGE lpfnAddPage,
  58. IN LPARAM lParam,
  59. IN MGenericProp *pPage,
  60. IN UINT Template
  61. );
  62. private:
  63. //
  64. // Copying and assignment not supported.
  65. //
  66. TLocationPropertySheetFrontEnd(
  67. const TLocationPropertySheetFrontEnd &
  68. );
  69. TLocationPropertySheetFrontEnd &
  70. operator = (
  71. const TLocationPropertySheetFrontEnd &
  72. );
  73. BOOL _bValid;
  74. IShellPropSheetExt *_pShellPropSheetExt;
  75. LPDATAOBJECT _lpdobj;
  76. TLocationPropertySheet *_pLocation;
  77. };
  78. /********************************************************************
  79. Location property sheet.
  80. ********************************************************************/
  81. class TLocationPropertySheet : public MGenericProp
  82. {
  83. SIGNATURE( 'lops' )
  84. public:
  85. TLocationPropertySheet(
  86. IN IShellPropSheetExt *pIShellPropSheetExt,
  87. IN IDataObject *_pdobj
  88. );
  89. ~TLocationPropertySheet(
  90. VOID
  91. );
  92. BOOL
  93. bValid(
  94. VOID
  95. ) const;
  96. UINT
  97. uGetResourceTemplateID(
  98. VOID
  99. ) const;
  100. private:
  101. enum EPropertyAccess
  102. {
  103. kPropertyAccessNone,
  104. kPropertyAccessRead,
  105. //
  106. // Implies read permission.
  107. //
  108. kPropertyAccessWrite,
  109. };
  110. //
  111. // Copying and assignment not supported.
  112. //
  113. TLocationPropertySheet(
  114. const TLocationPropertySheet &
  115. );
  116. TLocationPropertySheet &
  117. operator = (
  118. const TLocationPropertySheet &
  119. );
  120. BOOL
  121. bHandleMessage(
  122. IN UINT uMsg,
  123. IN WPARAM wParam,
  124. IN LPARAM lParam
  125. );
  126. VOID
  127. vDestroy(
  128. VOID
  129. );
  130. BOOL
  131. CheckPropertyAccess(
  132. IN LPCTSTR pszDsObjectName,
  133. IN EPropertyAccess &Access
  134. );
  135. BOOL
  136. InitializeDsObjectClipboardFormat(
  137. VOID
  138. );
  139. BOOL
  140. GetDsObjectNameFromIDataObject(
  141. IN IDataObject *pdobj,
  142. IN TString &strDsObjectName,
  143. IN TString &strDsObjectClass
  144. );
  145. LPTSTR
  146. ByteOffset(
  147. IN LPDSOBJECTNAMES pObject,
  148. IN UINT uOffset
  149. );
  150. BOOL
  151. Handle_InitDialog(
  152. IN WPARAM wParam,
  153. IN LPARAM lParam
  154. );
  155. BOOL
  156. Handle_Help(
  157. IN UINT uMsg,
  158. IN WPARAM wParam,
  159. IN LPARAM lParam
  160. );
  161. BOOL
  162. Handle_Command(
  163. IN WPARAM wParam,
  164. IN LPARAM lParam
  165. );
  166. BOOL
  167. Handle_Notify(
  168. IN WPARAM wParam,
  169. IN LPARAM lParam
  170. );
  171. BOOL
  172. GetObjectInterface(
  173. IN LPCTSTR strDsObject,
  174. IN OUT IADs **ppDsObject
  175. );
  176. BOOL
  177. GetDefaultSiteName(
  178. IN TString &strLocation
  179. );
  180. VOID
  181. BrowseLocations(
  182. VOID
  183. );
  184. IShellPropSheetExt *_pShellPropSheetExt;
  185. BOOL _bValid;
  186. UINT _cfDsObjectNames;
  187. TString _strDsObjectName;
  188. TString _strDsObjectClass;
  189. IADs *_pDsObject;
  190. TDirectoryService _Ds;
  191. EPropertyAccess _PropertyAccess;
  192. UINT _uLocationEditID;
  193. UINT _uBrowseID;
  194. TString _strLocation;
  195. };
  196. #endif // end _LOCPROP_HXX_