add_reboot #4

Merged
klavirshik merged 53 commits from add_reboot into main 2024-09-06 14:39:49 +00:00
3 changed files with 26 additions and 4 deletions
Showing only changes of commit a643ede634 - Show all commits

View File

@ -8,10 +8,13 @@ namespace Reseter2
{ {
class ReseterTask class ReseterTask
{ {
private Task task;
private IComp Comp; private IComp Comp;
private AStatusTask StatusTask; private AStatusTask StatusTask;
private TaskControl taskControl; private TaskControl taskControl;
private Pinger Pingers; private Pinger Pingers;
public delegate void DataEvents(string ping, string timeout);
public event DataEvents DataChange;
public ReseterTask(IComp comp, TaskControl taskCntrl) public ReseterTask(IComp comp, TaskControl taskCntrl)
{ {
@ -19,15 +22,30 @@ namespace Reseter2
taskControl = taskCntrl; taskControl = taskCntrl;
StatusTask = new StatusPreReboot(this); StatusTask = new StatusPreReboot(this);
Pingers = new Pinger(Comp.GetName()); Pingers = new Pinger(Comp.GetName());
DataChange += taskControl.DataContrl;
} }
public string GetName() public string GetName()
{ {
return Comp.GetName(); return Comp.GetName();
} }
public void Tick() public async Task Tick()
{ {
StatusTask.Tick(); if (task != null)
{
if (task.IsCompleted){
//this.DataContrl(Ping().ToString(), Timeout().ToString());
await task;
task = Task.Run(StatusTask.Tick);
}
}
else
{
task = Task.Run(StatusTask.Tick);
}
} }
public long Ping() public long Ping()
@ -41,7 +59,8 @@ namespace Reseter2
public void DataContrl(string ping, string timeout) public void DataContrl(string ping, string timeout)
{ {
taskControl.DataContrl(ping, timeout); // taskControl.Invoke(DataChange);
DataChange.Invoke(ping, timeout);
} }
private void Clear() private void Clear()
{ {

View File

@ -95,5 +95,8 @@
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="NewFolder1\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

@ -16,8 +16,8 @@ namespace Reseter2
public override void Tick() public override void Tick()
{ {
time++; time++;
resetertask.DataContrl(resetertask.Ping().ToString(), resetertask.Timeout().ToString()); resetertask.DataContrl(resetertask.Ping().ToString(), resetertask.Timeout().ToString());
} }
public override void Next() public override void Next()
{ {