17 lines
690 B
C#
17 lines
690 B
C#
using EbbesMemeClipboard.Models;
|
|
|
|
namespace EbbesMemeClipboard.Services;
|
|
|
|
public interface IGifCacheService
|
|
{
|
|
/// <summary>
|
|
/// Ensures the result's full-quality GIF exists as a real file on disk and returns its path.
|
|
/// Required before a remote result can go on the clipboard at all, since the file-drop
|
|
/// format (the one that preserves animation for chat apps) needs an actual local file.
|
|
/// </summary>
|
|
Task<string> GetOrDownloadAsync(GifSearchResult result, CancellationToken ct);
|
|
|
|
/// <summary>Downloads a preview rendition into memory for grid thumbnails.</summary>
|
|
Task<byte[]> DownloadPreviewAsync(GifSearchResult result, CancellationToken ct);
|
|
}
|