// Token: 0x06001836 RID: 6198 RVA: 0x00041760 File Offset: 0x0003F960 private void method_18(Class492 uhd) { bool flag = false; Monitor.Enter(this.object_0, ref flag); this.stack_0.Push(uhd); if (this.task_0 == null) { this.UpdateStep = ((uhd.UpdateStep == Enum87.const_1) ? Enum87.const_0 : uhd.UpdateStep); this.method_10(); } if (flag) { Monitor.Exit(this.object_0); flag = false; } }
// Token: 0x06001833 RID: 6195 RVA: 0x000416EC File Offset: 0x0003F8EC public void method_15(string fileToExecute, string autoUpdateID, string argumentsForFiles, bool isAService) { Class492 @class = new Class492(Enum87.const_4); @class.ExtraData.Add(fileToExecute); @class.ExtraDataIsRTF.Add(isAService); if (!string.IsNullOrEmpty(autoUpdateID)) { @class.ExtraData.Add(autoUpdateID); @class.ExtraDataIsRTF.Add(false); if (!string.IsNullOrEmpty(argumentsForFiles)) { @class.ExtraData.Add(argumentsForFiles); @class.ExtraDataIsRTF.Add(false); } } this.method_18(@class); }
// Token: 0x06001829 RID: 6185 RVA: 0x0004131C File Offset: 0x0003F51C private void method_6(object sender, EventArgs39 e) { Class492 @class = Class492.smethod_0(e.Message); switch (@class.Action) { case Enum93.const_1: this.process_0 = Process.GetProcessById(@class.ProcessID); return; case Enum93.const_3: this.class148_0.method_5(); this.method_4(); this.process_0 = Process.GetProcessById(@class.ProcessID); this.method_7(@class.ExtraData[0]); if (!this.class148_0.Connected && this.eventHandler_4 != null) { this.eventHandler_4(this, new EventArgs38(new Class492(Enum28.const_0, this.UpdateStep, this.UpdaterExitedPrematurely_Title, "Failed to connect to the new version of wyUpdate.exe"))); } this.method_18(new Class492(this.UpdateStep)); return; } if (@class.UpdateStep != this.UpdateStep) { Enum87 updateStep = this.UpdateStep; this.UpdateStep = @class.UpdateStep; if (this.eventHandler_2 != null) { this.eventHandler_2(this, new EventArgs28(@class.ResponseType, updateStep)); } } if (@class.Action == Enum93.const_0 && @class.UpdateStep == Enum87.const_4) { this.int_2 = @class.ProcessID; } if (@class.ResponseType != Enum28.const_1 && this.eventHandler_3 != null) { this.eventHandler_3(this, new EventArgs38(@class)); } }
// Token: 0x06002988 RID: 10632 RVA: 0x00013256 File Offset: 0x00011456 public EventArgs38(Class492 updateHelperData) { this.UpdateHelperData = updateHelperData; }
private void method_20(object sender, EventArgs38 e) { Class492 updateHelperData = e.UpdateHelperData; switch (updateHelperData.ResponseType) { case Enum28.const_0: this.method_17(Class151.smethod_0(updateHelperData.UpdateStep), new EventArgs26(updateHelperData.ExtraData[0], updateHelperData.ExtraData[1])); return; case Enum28.const_1: break; case Enum28.const_2: switch (updateHelperData.UpdateStep) { case Enum87.const_0: this.class176_0.LastCheckedForUpdate = DateTime.Now; if (updateHelperData.ExtraData.Count != 0) { this.string_5 = updateHelperData.ExtraData[0]; if (updateHelperData.ExtraData.Count > 1) { this.string_6 = updateHelperData.ExtraData[1]; this.bool_2 = updateHelperData.ExtraDataIsRTF[1]; } this.class176_0.UpdateVersion = this.string_5; this.class176_0.ChangesInLatestVersion = this.string_6; this.class176_0.ChangesIsRTF = this.bool_2; } else { this.string_5 = null; this.string_6 = null; this.bool_2 = false; this.class176_0.method_2(); } break; case Enum87.const_2: this.UpdateStepOn = Enum111.const_4; break; case Enum87.const_4: if (this.UseCloseAppNow) { this.class126_0.method_16(); if (this.eventHandler_17 != null) { this.eventHandler_17(this, EventArgs.Empty); return; } } else { this.class126_0.method_16(); Environment.Exit(0); } return; } this.method_12(updateHelperData.UpdateStep); return; case Enum28.const_3: if (this.eventHandler_10 != null) { this.eventHandler_10(this, new EventArgs9((long)updateHelperData.Progress, 100L)); } break; default: return; } }
public abstract void Visit(Class492 c);
public override void Visit(Class492 c) { }
private void method_19() { WaitCallback waitCallback = null; bool flag = false; Monitor.Enter(this.object_0, ref flag); try { Class126.Class174 @class = new Class126.Class174(); try { while (this.stack_0.Count > 0) { try { Class492 class2 = this.stack_0.Pop(); if (flag) { Monitor.Exit(this.object_0); flag = false; } this.UpdateStep = class2.UpdateStep; if (this.process_0 == null && !this.method_9()) { throw new Exception(Class126.string_1); } if (!this.method_8(class2.method_0())) { throw new Exception(Class126.string_0); } if (class2.Action == Enum93.const_2) { if (waitCallback == null) { waitCallback = new WaitCallback(this.method_20); } ThreadPool.UnsafeQueueUserWorkItem(waitCallback, null); break; } } finally { Monitor.Enter(this.object_0, ref flag); } } } catch (Exception ex) { ex.smethod_0(); try { if (this.process_0 != null && !this.process_0.HasExited) { this.process_0.Kill(); } } catch { } this.process_0 = null; this.stack_0.Clear(); if (this.eventHandler_4 != null) { this.eventHandler_4(this, new EventArgs38(new Class492(Enum28.const_0, this.UpdateStep, this.UpdaterExitedPrematurely_Title, ex.Message))); } } @class.task_0 = Interlocked.Exchange <Task>(ref this.task_0, null); ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(@class.method_0), null); } finally { if (flag) { Monitor.Exit(this.object_0); flag = false; } } }