You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
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;
|
|
}
|
|
|
|
}
|
|
}
|
|
|