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.

132 lines
4.0 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 2000
  6. //
  7. // File: cpviewp.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef __CONTROLPANEL_VIEW_PRIVATE_H
  11. #define __CONTROLPANEL_VIEW_PRIVATE_H
  12. #define GADGET_ENABLE_TRANSITIONS
  13. #define GADGET_ENABLE_CONTROLS
  14. #include <duser.h>
  15. #include <directui.h>
  16. #include <dusercore.h>
  17. namespace DUI = DirectUI;
  18. #include "cpview.h"
  19. namespace CPL {
  20. enum eCPVIEWTYPE
  21. {
  22. eCPVIEWTYPE_CLASSIC,
  23. eCPVIEWTYPE_CATEGORY,
  24. eCPVIEWTYPE_NUMTYPES
  25. };
  26. //
  27. // ICplCategory represents a single category withing the cateorized
  28. // Control Panel namespace.
  29. //
  30. extern const GUID IID_ICplCategory;
  31. class ICplCategory : public IUnknown
  32. {
  33. public:
  34. //
  35. // Returns the category's ID number from the eCPCAT enumeration.
  36. //
  37. STDMETHOD(GetCategoryID)(eCPCAT *pID) PURE;
  38. //
  39. // Returns the command object associated with the category's
  40. // link. Used by the category selection page.
  41. //
  42. STDMETHOD(GetUiCommand)(IUICommand **ppele) PURE;
  43. //
  44. // Returns an enumerator for the task commands associated with
  45. // the category.
  46. //
  47. STDMETHOD(EnumTasks)(IEnumUICommand **ppenum) PURE;
  48. //
  49. // Returns an enumerator for the CPL applet links associated
  50. // with the category.
  51. //
  52. STDMETHOD(EnumCplApplets)(IEnumUICommand **ppenum) PURE;
  53. //
  54. // Returns an enumerator for the webview information associated
  55. // with the category.
  56. //
  57. STDMETHOD(EnumWebViewInfo)(DWORD dwFlags, IEnumCplWebViewInfo **ppenum) PURE;
  58. //
  59. // Invoke help for the category.
  60. //
  61. STDMETHOD(GetHelpURL)(LPWSTR pszURL, UINT cchURL) PURE;
  62. };
  63. //
  64. // ICplNamespace represents the entire Control Panel namespace for the
  65. // new "Categorized" view introduced in Whistler.
  66. //
  67. extern const GUID IID_ICplNamespace;
  68. class ICplNamespace : public IUnknown
  69. {
  70. public:
  71. //
  72. // Returns a specified category.
  73. //
  74. STDMETHOD(GetCategory)(eCPCAT eCategory, ICplCategory **ppcat) PURE;
  75. //
  76. // Returns an enumerator for the information displayed
  77. // in webview on the category selection page.
  78. //
  79. STDMETHOD(EnumWebViewInfo)(DWORD dwFlags, IEnumCplWebViewInfo **ppenum) PURE;
  80. //
  81. // Returns an enumerator for the information displayed
  82. // in webview on the classic page.
  83. //
  84. STDMETHOD(EnumClassicWebViewInfo)(DWORD dwFlags, IEnumCplWebViewInfo **ppenum) PURE;
  85. //
  86. // Refresh namespace with new set of item IDs.
  87. //
  88. STDMETHOD(RefreshIDs)(IEnumIDList *penumIDs) PURE;
  89. //
  90. // Cached system configuration information. Used by
  91. // restriction code in cpnamespc.cpp
  92. //
  93. STDMETHOD_(BOOL, IsServer)(void) PURE;
  94. STDMETHOD_(BOOL, IsProfessional)(void) PURE;
  95. STDMETHOD_(BOOL, IsPersonal)(void) PURE;
  96. STDMETHOD_(BOOL, IsUserAdmin)(void) PURE;
  97. STDMETHOD_(BOOL, IsUserOwner)(void) PURE;
  98. STDMETHOD_(BOOL, IsUserStandard)(void) PURE;
  99. STDMETHOD_(BOOL, IsUserLimited)(void) PURE;
  100. STDMETHOD_(BOOL, IsUserGuest)(void) PURE;
  101. STDMETHOD_(BOOL, IsOnDomain)(void) PURE;
  102. STDMETHOD_(BOOL, IsX86)(void) PURE;
  103. STDMETHOD_(BOOL, AllowUserManager)(void) PURE;
  104. STDMETHOD_(BOOL, UsePersonalUserManager)(void) PURE;
  105. STDMETHOD_(BOOL, AllowDeskCpl)(void) PURE;
  106. STDMETHOD_(BOOL, AllowDeskCplTab_Background)(void) PURE;
  107. STDMETHOD_(BOOL, AllowDeskCplTab_Screensaver)(void) PURE;
  108. STDMETHOD_(BOOL, AllowDeskCplTab_Appearance)(void) PURE;
  109. STDMETHOD_(BOOL, AllowDeskCplTab_Settings)(void) PURE;
  110. };
  111. } // namespace CPL
  112. #endif //__CONTROLPANEL_VIEW_PRIVATE_H