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.
 
 
 
 
 
 

107 lines
2.3 KiB

// Class with the repair phase
// Copyright (c) 2001 Microsoft Corporation
// Jun 2001 lucios
#ifndef REPAIR_HPP
#define REPAIR_HPP
#include "AnalysisResults.hpp"
#include "dspecup.hpp"
// USED IN runCsvOrLdif
enum csvOrLdif {LDIF,CSV};
enum importExport {IMPORT,EXPORT};
class CSVDSReader;
struct sChangeList;
class Repair
{
public:
Repair
(
const CSVDSReader& csvReader409_,
const CSVDSReader& csvReaderIntl_,
const String& domain,
const String& rootContainerDn_,
AnalysisResults& res,
const String& ldiffName_,
const String& csvName_,
const String& saveName_,
const String& logPath_,
const String& completeDcName_,
void *caleeStruct_=NULL,
progressFunction stepIt_=NULL,
progressFunction totalSteps_=NULL
);
HRESULT run();
private:
AnalysisResults& results;
const CSVDSReader& csvReader409;
const CSVDSReader& csvReaderIntl;
const String domain;
const String rootContainerDn;
const String ldiffName;
const String csvName;
const String saveName;
const String logPath;
const String completeDcName;
String csvLog;
String ldifLog;
void *caleeStruct;
progressFunction stepIt;
progressFunction totalSteps;
long csvBuildStep;
long ldiffBuildStep;
long csvRunStep;
long ldiffRunStep;
long ldiffSaveStep;
long csvActions;
long ldiffActions;
HRESULT buildSaveLdif();
HRESULT buildChangeLdif();
HRESULT
makeObjectsCsv(HANDLE file,ObjectIdList &objects);
HRESULT
makeObjectsLdif(HANDLE file,ObjectIdList &objects);
HRESULT buildCsv();
HRESULT
runCsvOrLdif(
csvOrLdif whichExe,
importExport inOut,
const String& file,
const String& extraOptions=L"",
const String& logFileArg=L""
);
HRESULT
getLdifExportedObject (
const long locale,
const String &object,
String &objectLines
);
void setProgress();
};
#endif