80 lines
2.6 KiB
C++
80 lines
2.6 KiB
C++
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// 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 ?
|
||
|
};
|
||
|
|