windows-nt/Source/XPSP1/NT/admin/cys/win32/fileinstallationunit.h

132 lines
2.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// Copyright (c) 1997-2001 Microsoft Corporation
//
// File: FileInstallationUnit.h
//
// Synopsis: Declares a FileInstallationUnit
// This object has the knowledge for installing the
// disk quotas and such
//
// History: 02/06/2001 JeffJon Created
#ifndef __CYS_FILEINSTALLATIONUNIT_H
#define __CYS_FILEINSTALLATIONUNIT_H
#include "InstallationUnit.h"
typedef enum
{
QUOTA_SIZE_KB,
QUOTA_SIZE_MB,
QUOTA_SIZE_GB
} QuotaSizeType;
class FileInstallationUnit : public InstallationUnit
{
public:
// Constructor
FileInstallationUnit();
// Destructor
virtual
~FileInstallationUnit();
// Installation Unit overrides
virtual
InstallationReturnType
InstallService(HANDLE logfileHandle, HWND hwnd);
virtual
bool
IsServiceInstalled();
virtual
bool
GetFinishText(String& message);
virtual
String
GetServiceDescription();
void
SetSpaceQuotaSize(QuotaSizeType size);
QuotaSizeType
GetSpaceQuotaSize() const { return spaceQuotaSize; }
void
SetLevelQuotaSize(QuotaSizeType size);
QuotaSizeType
GetLevelQuotaSize() const { return levelQuotaSize; }
void
SetSpaceQuotaValue(LONGLONG value);
LONGLONG
GetSpaceQuotaValue() const { return spaceQuotaValue; }
void
SetLevelQuotaValue(LONGLONG value);
LONGLONG
GetLevelQuotaValue() const { return levelQuotaValue; }
void
SetDefaultQuotas(bool value);
bool
GetDefaultQuotas() const { return setDefaultQuotas; }
void
SetDenyUsersOverQuota(bool value);
bool
GetDenyUsersOverQuota() const { return denyUsersOverQuota; }
void
SetEventDiskSpaceLimit(bool value);
bool
GetEventDiskSpaceLimit() const { return eventDiskSpaceLimit; }
void
SetEventWarningLevel(bool value);
bool
GetEventWarningLevel() const { return eventWarningLevel; }
void
SetInstallIndexingService(bool value);
bool
GetInstallIndexingService() const { return installIndexingService; }
private:
void
WriteDiskQuotas(HANDLE logfileHandle);
void
ConvertValueBySizeType(
LONGLONG value,
QuotaSizeType sizeType,
LONGLONG& newValue);
QuotaSizeType spaceQuotaSize;
QuotaSizeType levelQuotaSize;
LONGLONG spaceQuotaValue;
LONGLONG levelQuotaValue;
bool setDefaultQuotas;
bool denyUsersOverQuota;
bool eventDiskSpaceLimit;
bool eventWarningLevel;
bool installIndexingService;
};
#endif // __CYS_FILEINSTALLATIONUNIT_H