mirror of
https://github.com/volodymyrsmirnov/MalwareMultiScan.git
synced 2025-08-24 21:42:23 +00:00
* UI responsive table fix * Background scanning for backends * Callback URL parameter to notify on scan results
42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace MalwareMultiScan.Backends.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Scan backend.
|
|
/// </summary>
|
|
public interface IScanBackend
|
|
{
|
|
/// <summary>
|
|
/// Unique backend id.
|
|
/// </summary>
|
|
public string Id { get; }
|
|
|
|
/// <summary>
|
|
/// Scan file.
|
|
/// </summary>
|
|
/// <param name="path">File path.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
/// <returns>List of detected threats.</returns>
|
|
public Task<string[]> ScanAsync(string path, CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Scan URL.
|
|
/// </summary>
|
|
/// <param name="uri">URL.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
/// <returns>List of detected threats.</returns>
|
|
public Task<string[]> ScanAsync(Uri uri, CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// Scan stream.
|
|
/// </summary>
|
|
/// <param name="stream">Stream.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
/// <returns>List of detected threats.</returns>
|
|
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken);
|
|
}
|
|
} |