public Application(string name, string pathToApp, string executable, RunMode runMode = RunMode.AppDomain) { this.name = name; this.runMode = runMode; appCopy = new AppCopy(cachePath, pathToApp, executable); watcher = new AppWatcher(pathToApp); switch (runMode) { case RunMode.AppDomain: runtime = new AppDomainRuntime(name, pathToApp, executable, appCopy.ShadowPath); break; case RunMode.Process: runtime = new ProcessRuntime(name, pathToApp, executable, appCopy.ShadowPath); break; default: throw new InvalidOperationException($"Unknown runmode, {runMode}"); } watcher.AppChanged += (o, e) => { Stop(); }; watcher.AfterQuietPeriod += (o, e) => { Start(); }; }
public AppWatcherTests() { subdirectory = Guid.NewGuid().ToString(); Directory.CreateDirectory(FullPath); watcher = new AppWatcher(FullPath, 0.01); }