Добавьте файлы проекта.
This commit is contained in:
24
FileSplitterShared/Classes/FileSplitInfo.cs
Normal file
24
FileSplitterShared/Classes/FileSplitInfo.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using FileSplitter.Shared.Interfaces;
|
||||
|
||||
namespace FileSplitter.Shared.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о разбиении
|
||||
/// </summary>
|
||||
public class FileSplitInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Версия программы, необходимая для сборки файла
|
||||
/// </summary>
|
||||
public string? FileSplitterVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Информация о собираемом файле
|
||||
/// </summary>
|
||||
public ITargetFileInfo? TargetFile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Информация о частях файла
|
||||
/// </summary>
|
||||
public List<ISplitFile>? SplitFiles { get; set; }
|
||||
}
|
29
FileSplitterShared/Classes/SplitFile.cs
Normal file
29
FileSplitterShared/Classes/SplitFile.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using FileSplitter.Shared.Interfaces;
|
||||
|
||||
namespace FileSplitter.Shared.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Разделенный файл
|
||||
/// </summary>
|
||||
public class SplitFile: ISplitFile
|
||||
{
|
||||
/// <summary>
|
||||
/// Порядок части
|
||||
/// </summary>
|
||||
public byte Num { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Размер части
|
||||
/// </summary>
|
||||
public long Size { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Смещение начала части от начала итогового файла
|
||||
/// </summary>
|
||||
public long Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// md5-сумма части для проверки
|
||||
/// </summary>
|
||||
public byte[]? Hash { get; set; }
|
||||
}
|
29
FileSplitterShared/Classes/TargetFileInfo.cs
Normal file
29
FileSplitterShared/Classes/TargetFileInfo.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using FileSplitter.Shared.Interfaces;
|
||||
|
||||
namespace FileSplitter.Shared.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о целевом файле
|
||||
/// </summary>
|
||||
public class TargetFileInfo: ITargetFileInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Имя файла
|
||||
/// </summary>
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Размер файла
|
||||
/// </summary>
|
||||
public long FileSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// md5-сумма файла для проверки
|
||||
/// </summary>
|
||||
public byte[]? FileHash { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Количество частей
|
||||
/// </summary>
|
||||
public byte SplitCount { get; set; }
|
||||
}
|
11
FileSplitterShared/FileSplitterShared.csproj
Normal file
11
FileSplitterShared/FileSplitterShared.csproj
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<AssemblyName>FileSplitterShared</AssemblyName>
|
||||
<RootNamespace>FileSplitter.Shared</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
27
FileSplitterShared/Interfaces/ISplitFile.cs
Normal file
27
FileSplitterShared/Interfaces/ISplitFile.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
namespace FileSplitter.Shared.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Интерфейс разделенного файла
|
||||
/// </summary>
|
||||
public interface ISplitFile
|
||||
{
|
||||
/// <summary>
|
||||
/// Порядок части
|
||||
/// </summary>
|
||||
public byte Num { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Размер части
|
||||
/// </summary>
|
||||
public long Size { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Смещение начала части от начала итогового файла
|
||||
/// </summary>
|
||||
public long Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// md5-сумма части для проверки
|
||||
/// </summary>
|
||||
public byte[]? Hash { get; set; }
|
||||
}
|
27
FileSplitterShared/Interfaces/ITargetFileInfo.cs
Normal file
27
FileSplitterShared/Interfaces/ITargetFileInfo.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
namespace FileSplitter.Shared.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о целевом файле
|
||||
/// </summary>
|
||||
public interface ITargetFileInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Имя файла
|
||||
/// </summary>
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Размер файла
|
||||
/// </summary>
|
||||
public long FileSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// md5-сумма файла для проверки
|
||||
/// </summary>
|
||||
public byte[]? FileHash { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Количество частей
|
||||
/// </summary>
|
||||
public byte SplitCount { get; set; }
|
||||
}
|
Reference in New Issue
Block a user