Files
client/Services/Abstractions/IFileService.cs
2026-05-23 18:16:50 +08:00

16 lines
683 B
C#

using CloudPrint.Client.Models;
namespace CloudPrint.Client.Services.Abstractions;
public interface IFileService
{
long MaxFileSizeBytes { get; }
IReadOnlyCollection<string> SupportedExtensions { get; }
bool IsSupported(string path);
FileValidationResult ValidateFile(string path, long? maxFileSizeBytes = null);
CloudPrintDocument CreateLocalDocument(string path);
CloudPrintDocument CopyToLibrary(string sourcePath, string libraryRoot, string categoryName, int categoryId = 0);
string PrepareForPrint(PrintJob job);
Task<FilePreparationResult> PrepareForPrintAsync(PrintJob job, string cacheRoot, CancellationToken cancellationToken = default);
}