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.

93 lines
2.8 KiB

  1. /*++
  2. 1998 Seagate Software, Inc. All rights reserved
  3. Module Name:
  4. ManVolLs.h
  5. Abstract:
  6. Node representing Managed Volumes as a whole.
  7. Author:
  8. Rohde Wakefield [rohde] 12-Aug-1997
  9. Revision History:
  10. --*/
  11. #ifndef _MANVOLLST_H
  12. #define _MANVOLLST_H
  13. #include "PrMrLsRc.h"
  14. #include "SakNodeI.h"
  15. class ATL_NO_VTABLE CUiManVolLst :
  16. public CSakNodeImpl<CUiManVolLst>,
  17. public CComCoClass<CUiManVolLst,&CLSID_CUiManVolLst>
  18. {
  19. public:
  20. // constructor/destructor
  21. CUiManVolLst(void) {};
  22. BEGIN_COM_MAP(CUiManVolLst)
  23. COM_INTERFACE_ENTRY2(IDispatch, ISakNodeProp)
  24. COM_INTERFACE_ENTRY(ISakNode)
  25. COM_INTERFACE_ENTRY(IDataObject)
  26. COM_INTERFACE_ENTRY(ISakNodeProp)
  27. END_COM_MAP()
  28. DECLARE_REGISTRY_RESOURCEID(IDR_CUiManVolLst)
  29. HRESULT FinalConstruct( void );
  30. void FinalRelease( void );
  31. public:
  32. STDMETHOD( InvokeCommand ) ( SHORT sCmd, IDataObject *pDataObject );
  33. STDMETHOD( GetContextMenu ) ( BOOL bMultiSelect, HMENU *phMenu );
  34. // ISakNode methods
  35. STDMETHOD( CreateChildren ) ( );
  36. STDMETHOD( TerminateNode ) ( void );
  37. STDMETHOD( InitNode ) ( ISakSnapAsk* pSakSnapAsk, IUnknown* pHsmObj, ISakNode* pParent );
  38. STDMETHOD( AddPropertyPages ) ( RS_NOTIFY_HANDLE handle, IUnknown* pUnkPropSheetCallback, IEnumGUID* pEnumObjectId, IEnumUnknown *pEnumUnkNode );
  39. STDMETHOD( RefreshObject ) ( );
  40. STDMETHOD( SetupToolbar ) ( IToolbar *pToolbar );
  41. STDMETHOD( OnToolbarButtonClick ) ( IDataObject *pDataObject, long cmdId );
  42. // data members
  43. // static, class-wide variables
  44. static INT m_nScopeOpenIconIndex; // virtual scope index of Open Icon
  45. static INT m_nScopeCloseIconIndex; // virtual scope index of Close Icon
  46. static INT m_nResultIconIndex; // virtual scope index of Close Icon
  47. CComPtr <IFsaServer> m_pFsaServer;
  48. CComPtr <IWsbIndexedCollection> m_pManResCollection;
  49. CComPtr <IHsmServer> m_pHsmServer;
  50. CComPtr <IFsaFilter> m_pFsaFilter;
  51. CComPtr <ISchedulingAgent> m_pSchedAgent;
  52. CComPtr <ITask> m_pTask;
  53. CComPtr <ITaskTrigger> m_pTrigger;
  54. private:
  55. HRESULT ShowManVolLstProperties (IDataObject *pDataObject, int initialPage);
  56. };
  57. class CUiManVolLstSheet : public CSakVolPropSheet
  58. {
  59. public:
  60. HRESULT AddPropertyPages( );
  61. HRESULT GetNextFsaResource ( int *pBookMark, IFsaResource ** ppFsaResource );
  62. HRESULT GetManResCollection( IWsbIndexedCollection ** ppFsaFilter );
  63. private:
  64. CComPtr <IWsbIndexedCollection> m_pManResCollection;
  65. };
  66. #endif
  67. /////////////////////////////////////////////////////////////////////////////