42 lines
1.3 KiB
C#
Raw Normal View History

2020-10-20 16:20:38 +03:00
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace MalwareMultiScan.Backends.Backends.Interfaces
2020-10-20 16:20:38 +03:00
{
2020-10-29 16:09:56 +02:00
/// <summary>
/// Scan backend.
/// </summary>
2020-10-20 16:20:38 +03:00
public interface IScanBackend
{
2020-10-29 16:09:56 +02:00
/// <summary>
/// Unique backend id.
/// </summary>
public string Id { get; }
2020-10-29 16:09:56 +02:00
/// <summary>
/// Scan file.
/// </summary>
/// <param name="path">File path.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>List of detected threats.</returns>
2020-10-20 16:20:38 +03:00
public Task<string[]> ScanAsync(string path, CancellationToken cancellationToken);
2020-10-29 16:09:56 +02:00
/// <summary>
/// Scan URL.
/// </summary>
/// <param name="uri">URL.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>List of detected threats.</returns>
2020-10-20 16:20:38 +03:00
public Task<string[]> ScanAsync(Uri uri, CancellationToken cancellationToken);
2020-10-29 16:09:56 +02:00
/// <summary>
/// Scan stream.
/// </summary>
/// <param name="stream">Stream.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>List of detected threats.</returns>
2020-10-20 16:20:38 +03:00
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken);
}
}