diff --git a/DiscImageChef.Core/Devices/Dumping/SCSI.cs b/DiscImageChef.Core/Devices/Dumping/SCSI.cs
index 0082e5c6..4acd994d 100644
--- a/DiscImageChef.Core/Devices/Dumping/SCSI.cs
+++ b/DiscImageChef.Core/Devices/Dumping/SCSI.cs
@@ -621,10 +621,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].DumpHardwareArray[0].Model = dev.Model;
sidecar.BlockMedia[0].DumpHardwareArray[0].Revision = dev.Revision;
sidecar.BlockMedia[0].DumpHardwareArray[0].Serial = dev.Serial;
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software = new SoftwareType();
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.Name = "DiscImageChef";
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.OperatingSystem = dev.PlatformID.ToString();
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.Version = typeof(SCSI).Assembly.GetName().Version.ToString();
+ sidecar.BlockMedia[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID);
sidecar.BlockMedia[0].TapeInformation = partitions.ToArray();
if(!aborted)
@@ -1831,10 +1828,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DumpHardwareArray[0].Manufacturer = dev.Manufacturer;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Model = dev.Model;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Revision = dev.Revision;
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = new SoftwareType();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Name = "DiscImageChef";
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.OperatingSystem = dev.PlatformID.ToString();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Version = typeof(SCSI).Assembly.GetName().Version.ToString();
+ sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID);
sidecar.OpticalDisc[0].Image = new ImageType();
sidecar.OpticalDisc[0].Image.format = "Raw disk image (sector by sector copy)";
sidecar.OpticalDisc[0].Image.Value = outputPrefix + ".bin";
@@ -2538,10 +2532,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DumpHardwareArray[0].Manufacturer = dev.Manufacturer;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Model = dev.Model;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Revision = dev.Revision;
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = new SoftwareType();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Name = "DiscImageChef";
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.OperatingSystem = dev.PlatformID.ToString();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Version = typeof(SCSI).Assembly.GetName().Version.ToString();
+ sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID);
sidecar.OpticalDisc[0].Image = new ImageType();
sidecar.OpticalDisc[0].Image.format = "Raw disk image (sector by sector copy)";
sidecar.OpticalDisc[0].Image.Value = outputPrefix + ".bin";
@@ -3009,10 +3000,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DumpHardwareArray[0].Manufacturer = dev.Manufacturer;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Model = dev.Model;
sidecar.OpticalDisc[0].DumpHardwareArray[0].Revision = dev.Revision;
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = new SoftwareType();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Name = "DiscImageChef";
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.OperatingSystem = dev.PlatformID.ToString();
- sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Version = typeof(SCSI).Assembly.GetName().Version.ToString();
+ sidecar.OpticalDisc[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID);
sidecar.OpticalDisc[0].Image = new ImageType();
sidecar.OpticalDisc[0].Image.format = "Raw disk image (sector by sector copy)";
sidecar.OpticalDisc[0].Image.Value = outputPrefix + ".bin";
@@ -3123,10 +3111,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].DumpHardwareArray[0].Manufacturer = dev.Manufacturer;
sidecar.BlockMedia[0].DumpHardwareArray[0].Model = dev.Model;
sidecar.BlockMedia[0].DumpHardwareArray[0].Revision = dev.Revision;
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software = new SoftwareType();
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.Name = "DiscImageChef";
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.OperatingSystem = dev.PlatformID.ToString();
- sidecar.BlockMedia[0].DumpHardwareArray[0].Software.Version = typeof(SCSI).Assembly.GetName().Version.ToString();
+ sidecar.BlockMedia[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID);
}
}
}
diff --git a/DiscImageChef.Core/DiscImageChef.Core.csproj b/DiscImageChef.Core/DiscImageChef.Core.csproj
index dd3d2fc4..efa1ec68 100644
--- a/DiscImageChef.Core/DiscImageChef.Core.csproj
+++ b/DiscImageChef.Core/DiscImageChef.Core.csproj
@@ -72,6 +72,7 @@
+
diff --git a/DiscImageChef.Core/Version.cs b/DiscImageChef.Core/Version.cs
new file mode 100644
index 00000000..378b2bbd
--- /dev/null
+++ b/DiscImageChef.Core/Version.cs
@@ -0,0 +1,56 @@
+// /***************************************************************************
+// The Disc Image Chef
+// ----------------------------------------------------------------------------
+//
+// Filename : Version.cs
+// Version : 1.0
+// Author(s) : Natalia Portillo
+//
+// Component : Component
+//
+// Revision : $Revision$
+// Last change by : $Author$
+// Date : $Date$
+//
+// --[ Description ] ----------------------------------------------------------
+//
+// Description
+//
+// --[ License ] --------------------------------------------------------------
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// ----------------------------------------------------------------------------
+// Copyright (C) 2011-2015 Claunia.com
+// ****************************************************************************/
+// //$Id$
+
+using DiscImageChef.Interop;
+using Schemas;
+
+namespace DiscImageChef.Core
+{
+ public static class Version
+ {
+ public static SoftwareType GetSoftwareType(PlatformID platform)
+ {
+ return new SoftwareType
+ {
+ Name = "DiscImageChef",
+ OperatingSystem = platform.ToString(),
+ Version = typeof(Version).Assembly.GetName().Version.ToString()
+ };
+ }
+ }
+}