IResourceLoader.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Reflection;
  6. using System.Text;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. namespace FastReport.Web.Services
  10. {
  11. /// <summary>
  12. /// Loads necessary WebReport resources such as toolbar images, scripts and other
  13. /// </summary>
  14. public interface IResourceLoader
  15. {
  16. /// <summary>
  17. /// Returns the requested UTF8 string representation resource.
  18. /// </summary>
  19. /// <param name="name">Requested resource name</param>
  20. /// <returns>A UTF8 string representation resource. If the resource is not found - returns null</returns>
  21. string GetContent(string name);
  22. /// <summary>
  23. /// Asynchronously returns the requested UTF8 string representation resource.
  24. /// </summary>
  25. /// <param name="name">Requested resource name</param>
  26. /// <returns>A UTF8 string representation resource. If the resource is not found - returns null</returns>
  27. ValueTask<string> GetContentAsync(string name);
  28. /// <summary>
  29. /// Returns the requested resource as byte array.
  30. /// </summary>
  31. /// <param name="name">Requested resource name</param>
  32. /// <returns>Byte array of requested resource. If the resource is not found - returns null</returns>
  33. byte[] GetBytes(string name);
  34. /// <summary>
  35. /// Asynchronously returns the requested resource as byte array.
  36. /// </summary>
  37. /// <param name="name">Requested resource name</param>
  38. /// <param name="cancellationToken">Cancellation token</param>
  39. /// <returns>Byte array of requested resource. If the resource is not found - returns null</returns>
  40. ValueTask<byte[]> GetBytesAsync(string name, CancellationToken cancellationToken = default);
  41. }
  42. }