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.
 
 
 
 
 
 

114 lines
4.7 KiB

/*++
Copyright (c) 1999 Microsoft Corporation
Abstract:
@doc
@module commandverifier.hxx | declaration for the command verifier
@end
Author:
Reuven Lax [reuvenl] 11/20/2001
Revision History:
Name Date Comments
reuvenl 11/20/2001 Created
--*/
#ifndef _COMMANDVERIFIER_H_
#define _COMMANDVERIFIER_H_
#include "versionspecific.h"
class CCommandVerifier {
public:
virtual ~CCommandVerifier()
{}
static CCommandVerifier* Instance();
virtual void CreateSnapshot (long type, LPCWSTR forVolume, VSS_ID idProvider, ULONGLONG autoRetry,
CVssFunctionTracer& ft) = 0;
virtual void ListProviders (CVssFunctionTracer& ft) = 0;
virtual void ListSnapshots (long type, VSS_ID idProvider, LPCWSTR forVolume, VSS_ID idShadow, VSS_ID idSet,
CVssFunctionTracer& ft) = 0;
virtual void ListWriters (CVssFunctionTracer& ft) = 0;
virtual void AddDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft) = 0;
virtual void ResizeDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft) = 0;
virtual void DeleteDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, bool quiet,
CVssFunctionTracer& ft) = 0;
virtual void ListDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, CVssFunctionTracer& ft) = 0;
virtual void DeleteSnapshots (long type, LPCWSTR forVolume, bool all, bool oldest, VSS_ID idShadow, bool quiet,
CVssFunctionTracer& ft) = 0;
virtual void ExposeSnapshot (VSS_ID idShadow, LPCWSTR exposeUsing, LPCWSTR sharePath, bool locally,
CVssFunctionTracer& ft) = 0;
virtual void ListVolumes (VSS_ID idProvider, long type, CVssFunctionTracer& ft) = 0;
};
class CInternalVerifier : public CCommandVerifier {
public:
virtual void CreateSnapshot (long type, LPCWSTR forVolume, VSS_ID idProvider, ULONGLONG autoRetry,
CVssFunctionTracer& ft);
virtual void ListProviders (CVssFunctionTracer& ft);
virtual void ListSnapshots (long type, VSS_ID idProvider, LPCWSTR forVolume, VSS_ID idShadow, VSS_ID idSet,
CVssFunctionTracer& ft);
virtual void ListWriters (CVssFunctionTracer& ft);
virtual void AddDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft);
virtual void ResizeDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft);
virtual void DeleteDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, bool quiet,
CVssFunctionTracer& ft);
virtual void ListDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, CVssFunctionTracer& ft);
virtual void DeleteSnapshots (long type, LPCWSTR forVolume, bool all, bool oldest, VSS_ID idShadow, bool quiet,
CVssFunctionTracer& ft);
virtual void ExposeSnapshot (VSS_ID idShadow, LPCWSTR exposeUsing, LPCWSTR sharePath, bool locally,
CVssFunctionTracer& ft);
virtual void ListVolumes (VSS_ID idProvider, long type, CVssFunctionTracer& ft);
};
class CExternalVerifier : public CCommandVerifier {
public:
virtual void CreateSnapshot (long type, LPCWSTR forVolume, VSS_ID idProvider, ULONGLONG autoRetry,
CVssFunctionTracer& ft);
virtual void ListProviders (CVssFunctionTracer& ft);
virtual void ListSnapshots (long type, VSS_ID idProvider, LPCWSTR forVolume, VSS_ID idShadow, VSS_ID idSet,
CVssFunctionTracer& ft);
virtual void ListWriters (CVssFunctionTracer& ft);
virtual void AddDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft);
virtual void ResizeDiffArea (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, ULONGLONG maxSize,
CVssFunctionTracer& ft);
virtual void DeleteDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume, bool quiet,
CVssFunctionTracer& ft);
virtual void ListDiffAreas (VSS_ID idProvider, LPCWSTR forVolume, LPCWSTR onVolume,
CVssFunctionTracer& ft);
virtual void DeleteSnapshots (long type, LPCWSTR forVolume, bool all, bool oldest, VSS_ID idShadow, bool quiet,
CVssFunctionTracer& ft);
virtual void ExposeSnapshot (VSS_ID idShadow, LPCWSTR exposeUsing, LPCWSTR sharePath, bool locally,
CVssFunctionTracer& ft);
virtual void ListVolumes (VSS_ID idProvider, long type, CVssFunctionTracer& ft);
};
/////////////////////////////////////////////////////////////////////////////
// Define creation of parameter verifier
inline CCommandVerifier* CCommandVerifier::Instance()
{
switch (dCurrentSKU) {
case SKU_INT:
return new CInternalVerifier();
default:
return new CExternalVerifier();
}
}
#endif