using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace FastReport.Web.Services
{
///
/// Loads necessary WebReport resources such as toolbar images, scripts and other
///
public interface IResourceLoader
{
///
/// Returns the requested UTF8 string representation resource.
///
/// Requested resource name
/// A UTF8 string representation resource. If the resource is not found - returns null
string GetContent(string name);
///
/// Asynchronously returns the requested UTF8 string representation resource.
///
/// Requested resource name
/// A UTF8 string representation resource. If the resource is not found - returns null
ValueTask GetContentAsync(string name);
///
/// Returns the requested resource as byte array.
///
/// Requested resource name
/// Byte array of requested resource. If the resource is not found - returns null
byte[] GetBytes(string name);
///
/// Asynchronously returns the requested resource as byte array.
///
/// Requested resource name
/// Cancellation token
/// Byte array of requested resource. If the resource is not found - returns null
ValueTask GetBytesAsync(string name, CancellationToken cancellationToken = default);
}
}