C# Class CClash.CompilerCacheBase

Inheritance: IDisposable
Show file Open project: artillery/cclash

Protected Properties

Property Type Description
compilerPath String
hasher HashUtil
includeCache FileCacheStore
outputCache FileCacheStore

Public Methods

Method Description
CheckCache ( ICompiler comp, IEnumerable args, DataHash commonkey, CacheManifest &manifest ) : bool
CompileOnly ( ICompiler comp, IEnumerable args ) : int
CompileOrCache ( ICompiler comp, IEnumerable args ) : int
CompilerCacheBase ( string cacheFolder ) : System
CopyFile ( string from, string to ) : void
CopyOutputFiles ( ICompiler comp, DataHash hc ) : void
CopyStdio ( ICompiler comp, DataHash hc ) : void
DeriveHashKey ( ICompiler comp, IEnumerable args ) : DataHash
DigestBinaryFile ( string path ) : DataHash
DigestCompiler ( string compilerPath ) : DataHash
Dispose ( ) : void
FileExists ( string path ) : bool
FileMissing ( string path ) : bool
Finished ( ) : void
GetHashes ( IEnumerable fnames ) : DataHash>.Dictionary
IsSupported ( ICompiler comp, IEnumerable args ) : bool
Lock ( CacheLockType mode ) : void
SetCaptureCallback ( ICompiler comp, Action onOutput, Action onError ) : void
SetCompiler ( string compiler, string workdir, string>.Dictionary envs ) : ICompiler
SetCompilerEx ( int parentpid, string compiler, string workdir, string>.Dictionary envs ) : ICompiler
Setup ( ) : void
Unlock ( CacheLockType mode ) : void

Protected Methods

Method Description
CompileWithStreams ( ICompiler comp, IEnumerable args, StreamWriter stderr, StreamWriter stdout, List includes ) : int
CompilerCacheBase ( ) : System
Dispose ( bool disposing ) : void
GetCachedManifestLocked ( DataHash commonkey ) : CacheManifest
OnCacheHitLocked ( ICompiler comp, DataHash hc, CacheManifest hm ) : int
OnCacheMissLocked ( ICompiler comp, DataHash hc, IEnumerable args, CacheManifest m ) : int

Method Details

CheckCache() public abstract method

public abstract CheckCache ( ICompiler comp, IEnumerable args, DataHash commonkey, CacheManifest &manifest ) : bool
comp ICompiler
args IEnumerable
commonkey DataHash
manifest CacheManifest
return bool

CompileOnly() public method

public CompileOnly ( ICompiler comp, IEnumerable args ) : int
comp ICompiler
args IEnumerable
return int

CompileOrCache() public method

public CompileOrCache ( ICompiler comp, IEnumerable args ) : int
comp ICompiler
args IEnumerable
return int

CompileWithStreams() protected method

protected CompileWithStreams ( ICompiler comp, IEnumerable args, StreamWriter stderr, StreamWriter stdout, List includes ) : int
comp ICompiler
args IEnumerable
stderr System.IO.StreamWriter
stdout System.IO.StreamWriter
includes List
return int

CompilerCacheBase() protected method

protected CompilerCacheBase ( ) : System
return System

CompilerCacheBase() public method

public CompilerCacheBase ( string cacheFolder ) : System
cacheFolder string
return System

CopyFile() public method

public CopyFile ( string from, string to ) : void
from string
to string
return void

CopyOutputFiles() public method

public CopyOutputFiles ( ICompiler comp, DataHash hc ) : void
comp ICompiler
hc DataHash
return void

CopyStdio() public method

public CopyStdio ( ICompiler comp, DataHash hc ) : void
comp ICompiler
hc DataHash
return void

DeriveHashKey() public method

public DeriveHashKey ( ICompiler comp, IEnumerable args ) : DataHash
comp ICompiler
args IEnumerable
return DataHash

DigestBinaryFile() public method

public DigestBinaryFile ( string path ) : DataHash
path string
return DataHash

DigestCompiler() public method

public DigestCompiler ( string compilerPath ) : DataHash
compilerPath string
return DataHash

Dispose() public method

public Dispose ( ) : void
return void

Dispose() protected method

protected Dispose ( bool disposing ) : void
disposing bool
return void

FileExists() public method

public FileExists ( string path ) : bool
path string
return bool

FileMissing() public method

public FileMissing ( string path ) : bool
path string
return bool

Finished() public abstract method

public abstract Finished ( ) : void
return void

GetCachedManifestLocked() protected method

protected GetCachedManifestLocked ( DataHash commonkey ) : CacheManifest
commonkey DataHash
return CacheManifest

GetHashes() public method

public GetHashes ( IEnumerable fnames ) : DataHash>.Dictionary
fnames IEnumerable
return DataHash>.Dictionary

IsSupported() public method

public IsSupported ( ICompiler comp, IEnumerable args ) : bool
comp ICompiler
args IEnumerable
return bool

Lock() public method

public Lock ( CacheLockType mode ) : void
mode CacheLockType
return void

OnCacheHitLocked() protected method

protected OnCacheHitLocked ( ICompiler comp, DataHash hc, CacheManifest hm ) : int
comp ICompiler
hc DataHash
hm CacheManifest
return int

OnCacheMissLocked() protected abstract method

protected abstract OnCacheMissLocked ( ICompiler comp, DataHash hc, IEnumerable args, CacheManifest m ) : int
comp ICompiler
hc DataHash
args IEnumerable
m CacheManifest
return int

SetCaptureCallback() public method

public SetCaptureCallback ( ICompiler comp, Action onOutput, Action onError ) : void
comp ICompiler
onOutput Action
onError Action
return void

SetCompiler() public method

public SetCompiler ( string compiler, string workdir, string>.Dictionary envs ) : ICompiler
compiler string
workdir string
envs string>.Dictionary
return ICompiler

SetCompilerEx() public method

public SetCompilerEx ( int parentpid, string compiler, string workdir, string>.Dictionary envs ) : ICompiler
parentpid int
compiler string
workdir string
envs string>.Dictionary
return ICompiler

Setup() public abstract method

public abstract Setup ( ) : void
return void

Unlock() public method

public Unlock ( CacheLockType mode ) : void
mode CacheLockType
return void

Property Details

compilerPath protected property

protected String compilerPath
return String

hasher protected property

protected HashUtil,CClash hasher
return HashUtil

includeCache protected property

protected FileCacheStore,CClash includeCache
return FileCacheStore

outputCache protected property

protected FileCacheStore,CClash outputCache
return FileCacheStore