summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-19 18:34:15 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-19 18:34:15 (GMT)
commit0301b8366b1cd0ae39ff92589f75be70746cfe3a (patch)
treea06f4c2fb8d60cb9956e74effd6a7f876f08f24d
parent7dbff466389f58db2be556f03f32f55a9bb8c92a (diff)
downloadCMake-0301b8366b1cd0ae39ff92589f75be70746cfe3a.zip
CMake-0301b8366b1cd0ae39ff92589f75be70746cfe3a.tar.gz
CMake-0301b8366b1cd0ae39ff92589f75be70746cfe3a.tar.bz2
Add a way to remove files from cache
-rw-r--r--Source/cmListFileCache.cxx10
-rw-r--r--Source/cmListFileCache.h4
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index 83dd3cf..0b6e0b8 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -109,3 +109,13 @@ bool cmListFileCache::CacheFile(const char* path)
m_ListFileCache[path] = inFile;
return true;
}
+
+void cmListFileCache::FlushCache(const char* path)
+{
+ ListFileMap::iterator it = m_ListFileCache.find(path);
+ if ( it != m_ListFileCache.end() )
+ {
+ m_ListFileCache.erase(it);
+ return;
+ }
+}
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index f2362db..cd15a31 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -55,6 +55,10 @@ public:
* NULL is returned.
*/
cmListFile* GetFileCache(const char* path);
+
+ //! Flush cache file out of cache.
+ void FlushCache(const char* path);
+
private:
// Cache the file
bool CacheFile(const char* path);