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.

128 lines
3.7 KiB

  1. // Rebuild.h : Declaration of the CNntpAdminRebuild
  2. /////////////////////////////////////////////////////////////////////////////
  3. // nntpadm
  4. class CNntpAdminRebuild :
  5. public INntpAdminRebuild,
  6. public IPrivateUnknown,
  7. public IPrivateDispatch,
  8. public IADsExtension,
  9. public INonDelegatingUnknown,
  10. public ISupportErrorInfo,
  11. public CComObjectRoot,
  12. public CComCoClass<CNntpAdminRebuild,&CLSID_CNntpAdminRebuild>
  13. {
  14. public:
  15. CNntpAdminRebuild();
  16. virtual ~CNntpAdminRebuild ();
  17. BEGIN_COM_MAP(CNntpAdminRebuild)
  18. COM_INTERFACE_ENTRY(IDispatch)
  19. COM_INTERFACE_ENTRY(IADs)
  20. COM_INTERFACE_ENTRY(INntpAdminRebuild)
  21. COM_INTERFACE_ENTRY(IADsExtension)
  22. COM_INTERFACE_ENTRY(IPrivateUnknown)
  23. COM_INTERFACE_ENTRY(IPrivateDispatch)
  24. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  25. END_COM_MAP()
  26. //DECLARE_NOT_AGGREGATABLE(CNntpAdminRebuild)
  27. // Remove the comment from the line above if you don't want your object to
  28. // support aggregation. The default is to support it
  29. DECLARE_REGISTRY(CNntpAdminRebuild, _T("Nntpadm.Rebuild.1"), _T("Nntpadm.Rebuild"), IDS_NNTPADMINREBUILD_DESC, THREADFLAGS_BOTH)
  30. // ISupportsErrorInfo
  31. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  32. //
  33. // This declares methods for the following:
  34. // IADsExtension
  35. // IUnknown
  36. // IDispatch
  37. // IPrivateUnknown
  38. // IPrivateDispatch
  39. //
  40. #define THIS_LIBID LIBID_NNTPADMLib
  41. #define THIS_IID IID_INntpAdminRebuild
  42. #include "adsimp.inl"
  43. #undef THIS_LIBID
  44. #undef THIS_IID
  45. // INntpAdminRebuild
  46. public:
  47. //
  48. // IADs methods:
  49. //
  50. DECLARE_IADS_METHODS()
  51. //////////////////////////////////////////////////////////////////////
  52. // Properties:
  53. //////////////////////////////////////////////////////////////////////
  54. // Which service to configure:
  55. STDMETHODIMP get_Server ( BSTR * pstrServer );
  56. STDMETHODIMP put_Server ( BSTR strServer );
  57. STDMETHODIMP get_ServiceInstance ( long * plServiceInstance );
  58. STDMETHODIMP put_ServiceInstance ( long lServiceInstance );
  59. STDMETHODIMP get_Verbose ( BOOL * pfVerbose );
  60. STDMETHODIMP put_Verbose ( BOOL fVerbose );
  61. STDMETHODIMP get_CleanRebuild ( BOOL * pfCleanRebuild );
  62. STDMETHODIMP put_CleanRebuild ( BOOL fCleanRebuild );
  63. STDMETHODIMP get_DontDeleteHistory ( BOOL * pfDontDeleteHistory );
  64. STDMETHODIMP put_DontDeleteHistory ( BOOL fDontDeleteHistory );
  65. STDMETHODIMP get_ReuseIndexFiles ( BOOL * pfReuseIndexFiles );
  66. STDMETHODIMP put_ReuseIndexFiles ( BOOL fReuseIndexFiles );
  67. STDMETHODIMP get_OmitNonLeafDirs ( BOOL * pfOmitNonLeafDirs );
  68. STDMETHODIMP put_OmitNonLeafDirs ( BOOL fOmitNonLeafDirs );
  69. STDMETHODIMP get_GroupFile ( BSTR * pstrGroupFile );
  70. STDMETHODIMP put_GroupFile ( BSTR strGroupFile );
  71. STDMETHODIMP get_ReportFile ( BSTR * pstrReportFile );
  72. STDMETHODIMP put_ReportFile ( BSTR strReportFile );
  73. STDMETHODIMP get_NumThreads ( long * plNumThreads );
  74. STDMETHODIMP put_NumThreads ( long lNumThreads );
  75. //////////////////////////////////////////////////////////////////////
  76. // Methods:
  77. //////////////////////////////////////////////////////////////////////
  78. STDMETHODIMP Default ( );
  79. STDMETHODIMP StartRebuild ( );
  80. STDMETHODIMP GetProgress ( long * pdwProgress );
  81. STDMETHODIMP Cancel ( );
  82. //////////////////////////////////////////////////////////////////////
  83. // Data:
  84. //////////////////////////////////////////////////////////////////////
  85. private:
  86. // Property variables:
  87. CIADsImpl m_iadsImpl;
  88. BOOL m_fVerbose;
  89. BOOL m_fCleanRebuild;
  90. BOOL m_fDontDeleteHistory;
  91. BOOL m_fReuseIndexFiles;
  92. BOOL m_fOmitNonLeafDirs;
  93. CComBSTR m_strGroupFile;
  94. CComBSTR m_strReportFile;
  95. DWORD m_dwNumThreads;
  96. //
  97. // Status variables:
  98. //
  99. BOOL m_fRebuildInProgress;
  100. };