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.

100 lines
2.0 KiB

  1. #ifndef REPAIR_HPP
  2. #define REPAIR_HPP
  3. #include "AnalisysResults.hpp"
  4. #include "dspecup.hpp"
  5. // USED IN runCsvOrLdif
  6. enum csvOrLdif {LDIF,CSV};
  7. enum importExport {IMPORT,EXPORT};
  8. class CSVDSReader;
  9. struct sChangeList;
  10. class Repair
  11. {
  12. public:
  13. Repair
  14. (
  15. const CSVDSReader& csvReader409_,
  16. const CSVDSReader& csvReaderIntl_,
  17. const String& domain,
  18. const String& rootContainerDn_,
  19. AnalisysResults& res,
  20. const String& ldiffName_,
  21. const String& csvName_,
  22. const String& saveName_,
  23. const String& logPath_,
  24. void *caleeStruct_=NULL,
  25. progressFunction stepIt_=NULL,
  26. progressFunction totalSteps_=NULL
  27. );
  28. HRESULT run();
  29. private:
  30. AnalisysResults& results;
  31. const CSVDSReader& csvReader409;
  32. const CSVDSReader& csvReaderIntl;
  33. const String domain;
  34. const String rootContainerDn;
  35. const String ldiffName;
  36. const String csvName;
  37. const String saveName;
  38. const String logPath;
  39. String csvLog;
  40. String ldifLog;
  41. void *caleeStruct;
  42. progressFunction stepIt;
  43. progressFunction totalSteps;
  44. long csvBuildStep;
  45. long ldiffBuildStep;
  46. long csvRunStep;
  47. long ldiffRunStep;
  48. long ldiffSaveStep;
  49. long csvActions;
  50. long ldiffActions;
  51. HRESULT buildSaveLdif();
  52. HRESULT buildChangeLdif();
  53. HRESULT
  54. makeObjectsCsv(HANDLE file,ObjectIdList &objects);
  55. HRESULT
  56. makeObjectsLdif(HANDLE file,ObjectIdList &objects);
  57. HRESULT buildCsv();
  58. HRESULT
  59. runCsvOrLdif(
  60. csvOrLdif whichExe,
  61. importExport inOut,
  62. const String& file,
  63. const String& extraOptions=L"",
  64. const String& logFileArg=L""
  65. );
  66. HRESULT
  67. getLdifExportedObject (
  68. const long locale,
  69. const String &object,
  70. String &objectLines
  71. );
  72. void setProgress();
  73. };
  74. #endif