// 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/>.
#ifndef _DIRSTATECACHE_H
#define _DIRSTATECACHE_H
class CDirstate;
class CDirstateCache
{
struct CEntry
{
CDirstate* dstate;
__int64 dstate_mtime;
__int64 dstate_size;
CString hgroot;
unsigned tickcount;
bool unset;
bool usekbfiles;
CEntry() :
dstate(0),
dstate_mtime(0),
dstate_size(0),
tickcount(0),
unset(false),
usekbfiles(false)
{}
};
static CAtlList<CEntry>& Cache();
public:
static CDirstate* Get(const CString& hgroot, const CString& cwd, bool& unset,
bool usekbfiles = false);
static void Invalidate(const CString& hgroot, bool usekbfiles = false);
};
#endif
|
Loading...