You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.196
Former-commit-id: a9bb725ccbe0b8bfe8370b968c9f33f1558e1a2b
This commit is contained in:
parent
fad71374d0
commit
bdb6e93184
@ -1,75 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Monodoc.Caches
|
||||
{
|
||||
public class FileCache : IDocCache
|
||||
{
|
||||
string baseCacheDir;
|
||||
|
||||
public FileCache (string baseCacheDir)
|
||||
{
|
||||
this.baseCacheDir = baseCacheDir;
|
||||
if (!Directory.Exists (baseCacheDir))
|
||||
Directory.CreateDirectory (baseCacheDir);
|
||||
}
|
||||
|
||||
public bool IsCached (string id)
|
||||
{
|
||||
return File.Exists (MakePath (id));
|
||||
}
|
||||
|
||||
public bool CanCache (DocEntity entity)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public Stream GetCachedStream (string id)
|
||||
{
|
||||
return File.OpenRead (MakePath (id));
|
||||
}
|
||||
|
||||
public string GetCachedString (string id)
|
||||
{
|
||||
return File.ReadAllText (MakePath (id));
|
||||
}
|
||||
|
||||
public void CacheText (string id, string content)
|
||||
{
|
||||
File.WriteAllText (MakePath (id), content);
|
||||
}
|
||||
|
||||
public void CacheText (string id, Stream stream)
|
||||
{
|
||||
using (var file = File.OpenWrite (MakePath (id)))
|
||||
stream.CopyTo (file);
|
||||
}
|
||||
|
||||
public void CacheBlob (string id, byte[] data)
|
||||
{
|
||||
File.WriteAllBytes (MakePath (id), data);
|
||||
}
|
||||
|
||||
public void CacheBlob (string id, Stream stream)
|
||||
{
|
||||
using (var file = File.OpenWrite (MakePath (id)))
|
||||
stream.CopyTo (file);
|
||||
}
|
||||
|
||||
string MakePath (string id)
|
||||
{
|
||||
id = id.Replace (Path.DirectorySeparatorChar, '_');
|
||||
return Path.Combine (baseCacheDir, id);
|
||||
}
|
||||
|
||||
public void Dispose ()
|
||||
{
|
||||
if (!Directory.Exists (baseCacheDir))
|
||||
return;
|
||||
|
||||
try {
|
||||
Directory.Delete (baseCacheDir, true);
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user