|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace Patcher.Web {
|
|
|
|
|
abstract public class PatcherInfo {
|
|
|
|
|
|
|
|
|
|
internal readonly IPatcherConfiguration configuration;
|
|
|
|
|
|
|
|
|
|
internal readonly bool IsContainsNewPatches;
|
|
|
|
|
|
|
|
|
|
internal bool AreNewPatchesInstalled {
|
|
|
|
|
get;
|
|
|
|
|
private set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool IsMainHandlerDisallowed;
|
|
|
|
|
|
|
|
|
|
public bool IsNeedsPatching {
|
|
|
|
|
get {
|
|
|
|
|
return (this.IsContainsNewPatches && !this.AreNewPatchesInstalled) || this.IsMainHandlerDisallowed;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void CheckDBUpToDate() {
|
|
|
|
|
if(this.IsNeedsPatching) {
|
|
|
|
|
throw new DBIsOutdatedException();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal void PatchesInstalled() {
|
|
|
|
|
this.AreNewPatchesInstalled = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal void DisallowMainHandler() {
|
|
|
|
|
this.IsMainHandlerDisallowed = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected PatcherInfo(IPatcherConfiguration configuration) {
|
|
|
|
|
this.configuration = configuration;
|
|
|
|
|
this.IsContainsNewPatches = (new Checker(new CheckParams(configuration))).IsNeedsPatching();
|
|
|
|
|
this.IsMainHandlerDisallowed = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|