Добавьте файлы проекта.

This commit is contained in:
Alexander
2023-04-08 14:45:14 +03:00
parent 8418b79f7d
commit 66b3a8cc77
9 changed files with 256 additions and 0 deletions

View 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; }
}

View 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; }
}

View 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; }
}

View 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>

View 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; }
}

View 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; }
}