mirror of https://github.com/tongzx/nt5src
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.
79 lines
2.6 KiB
79 lines
2.6 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1997.
|
|
//
|
|
// File: rmstate.hxx
|
|
//
|
|
// Contents: CResManager state tracking
|
|
//
|
|
// Classes: CResManState
|
|
//
|
|
// History: 1-24-97 SrikantS Created
|
|
// 07-05-97 SitaramR Changed to use disable/enable updates logic
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
enum EState
|
|
{
|
|
eSteady, // No scan is needed (or same as the state where
|
|
// client has been notified that updates are enabled)
|
|
eUpdatesToBeDisabled, // Client needs to be notified that updates are
|
|
// to be disabled. eUpdateType specifies
|
|
// whether this will need an incremental or a full
|
|
// update
|
|
eUpdatesDisabled, // Client has been notified that updates have
|
|
// been disabled
|
|
eUpdatesToBeEnabled, // Client needs to be notified that updates have
|
|
// to be enabled
|
|
};
|
|
|
|
enum EUpdateType // Type of update that needs to be done when updates
|
|
{ // are disabled and then subsequently enabled
|
|
eIncremental,
|
|
eFull
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Class: CResManState
|
|
//
|
|
// Purpose: Tracks the state of ContentIndex in CResManager (in-memory).
|
|
// Updates to be enabled/disabled events are kept track in this.
|
|
//
|
|
// History: 2-10-97 SrikantS Created
|
|
// 07-05-97 SitaramR Usns
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CResManState
|
|
{
|
|
|
|
public:
|
|
|
|
CResManState()
|
|
: _eState( eSteady ),
|
|
_eUpdateType( eIncremental ),
|
|
_fCorruptionNotified(FALSE)
|
|
{
|
|
}
|
|
|
|
void LokSetState( EState eState ) { _eState = eState; }
|
|
EState LokGetState() const { return _eState; }
|
|
|
|
void LokSetUpdateType( EUpdateType eType ) { _eUpdateType = eType; }
|
|
EUpdateType LokGetUpdateType() const { return _eUpdateType; }
|
|
|
|
void LokSetCorruptionNotified() { _fCorruptionNotified = TRUE; }
|
|
BOOL FLokCorruptionNotified() const { return _fCorruptionNotified; }
|
|
|
|
private:
|
|
|
|
EState _eState; // State of updates
|
|
EUpdateType _eUpdateType; // Update type
|
|
BOOL _fCorruptionNotified; // Has corruption been notified to client ?
|
|
};
|
|
|