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.

55 lines
1.2 KiB

  1. #pragma once
  2. #include "MigrationBase.h"
  3. //---------------------------------------------------------------------------
  4. // ReportGeneration Class
  5. //---------------------------------------------------------------------------
  6. class ATL_NO_VTABLE CReportGeneration :
  7. public CComObjectRootEx<CComSingleThreadModel>,
  8. public IDispatchImpl<IReportGeneration, &IID_IReportGeneration, &LIBID_ADMT>,
  9. public CMigrationBase
  10. {
  11. public:
  12. CReportGeneration();
  13. ~CReportGeneration();
  14. DECLARE_NO_REGISTRY()
  15. BEGIN_COM_MAP(CReportGeneration)
  16. COM_INTERFACE_ENTRY(IDispatch)
  17. COM_INTERFACE_ENTRY(IReportGeneration)
  18. END_COM_MAP()
  19. public:
  20. // IReport
  21. STDMETHOD(put_Type)(long lType);
  22. STDMETHOD(get_Type)(long* plType);
  23. STDMETHOD(put_Folder)(BSTR bstrFolder);
  24. STDMETHOD(get_Folder)(BSTR* pbstrFolder);
  25. STDMETHOD(Generate)(long lOption, VARIANT vntInclude, VARIANT vntExclude);
  26. protected:
  27. virtual void DoNone();
  28. virtual void DoNames();
  29. virtual void DoDomain();
  30. void DoContainers(CContainer& rSource);
  31. void DoComputers(CContainer& rSource);
  32. void DoComputers(CDomainAccounts& rComputers);
  33. void SetOptions(CVarSet& rVarSet);
  34. void SetReports(CVarSet& rVarSet);
  35. protected:
  36. long m_lType;
  37. _bstr_t m_bstrFolder;
  38. };