// Copyright (C) 2011 Fog Creek Software
// Copyright (C) 2009 Benjamin Pollack
// Copyright (C) 2009 Adrian Buehlmann
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
class CDirstate;
class CDirstateCache
{
struct CEntry
{
CDirstate* pDirstate;
LONGLONG llMTime;
LONGLONG llSize;
CString strHgRoot;
unsigned uTickCount;
bool bUnset;
bool bUseKbfiles;
CEntry() :
pDirstate(0),
llMTime(0),
llSize(0),
uTickCount(0),
bUnset(false),
bUseKbfiles(false) {}
};
static CAtlList<CEntry>& Cache();
public:
static CDirstate* Get(const CString& strHgRoot, const CString& strCwd,
bool& bUnset, bool bUseKbfiles = false);
static void Invalidate(const CString& strHgRoot, bool bUseKbfiles = false);
};
|
Loading...