Make Sidecar class non-static.

This commit is contained in:
2019-04-20 18:11:02 +01:00
parent bc8052f0ae
commit c06f738ca9
18 changed files with 198 additions and 89 deletions

View File

@@ -523,8 +523,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
if(preSidecar != null)
{
preSidecar.BlockMedia = sidecar.BlockMedia;

View File

@@ -1843,8 +1843,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
end = DateTime.UtcNow;
totalChkDuration = (end - chkStart).TotalMilliseconds;

View File

@@ -171,5 +171,17 @@ namespace DiscImageChef.Core.Devices.Dumping
/// Event raised to update the status of an undeterminate progress bar
/// </summary>
public event PulseProgressHandler PulseProgress;
/// <summary>
/// Event raised when the progress bar is not longer needed
/// </summary>
public event EndProgressHandler2 EndProgress2;
/// <summary>
/// Event raised when a progress bar is needed
/// </summary>
public event InitProgressHandler2 InitProgress2;
/// <summary>
/// Event raised to update the values of a determinate progress bar
/// </summary>
public event UpdateProgressHandler2 UpdateProgress2;
}
}

View File

@@ -593,8 +593,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
end = DateTime.UtcNow;
totalChkDuration = (end - chkStart).TotalMilliseconds;
@@ -1061,8 +1072,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
end = DateTime.UtcNow;
totalChkDuration = (end - chkStart).TotalMilliseconds;

View File

@@ -828,8 +828,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
end = DateTime.UtcNow;
totalChkDuration = (end - chkStart).TotalMilliseconds;

View File

@@ -478,8 +478,19 @@ namespace DiscImageChef.Core.Devices.Dumping
IMediaImage inputPlugin = ImageFormat.Detect(filter);
if(!inputPlugin.Open(filter)) StoppingErrorMessage?.Invoke("Could not open created image.");
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
if(preSidecar != null)
{

View File

@@ -928,8 +928,19 @@ namespace DiscImageChef.Core.Devices.Dumping
return;
}
DateTime chkStart = DateTime.UtcNow;
CICMMetadataType sidecar = Sidecar.Create(inputPlugin, outputPath, filter.Id, encoding);
DateTime chkStart = DateTime.UtcNow;
Sidecar sidecarClass = new Sidecar(inputPlugin, outputPath, filter.Id, encoding)
{
// TODO: Be able to cancel hashing
InitProgressEvent += InitProgress,
UpdateProgressEvent += UpdateProgress,
EndProgressEvent += EndProgress,
InitProgressEvent2 += InitProgress2,
UpdateProgressEvent2 += UpdateProgress2,
EndProgressEvent2 += EndProgress2,
UpdateStatusEvent += UpdateStatus
};
CICMMetadataType sidecar = sidecarClass.Create();
end = DateTime.UtcNow;
if(preSidecar != null)