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
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
|
|
|
|
|