BaseActionHandler.cs 956 B

12345678910111213141516171819202122232425262728293031
  1. using MediaBrowser.Common.Kernel;
  2. using MediaBrowser.Model.Entities;
  3. using System.Threading.Tasks;
  4. namespace MediaBrowser.Common.Net.Handlers
  5. {
  6. /// <summary>
  7. /// Class BaseActionHandler
  8. /// </summary>
  9. /// <typeparam name="TKernelType">The type of the T kernel type.</typeparam>
  10. public abstract class BaseActionHandler<TKernelType> : BaseSerializationHandler<TKernelType, EmptyRequestResult>
  11. where TKernelType : IKernel
  12. {
  13. /// <summary>
  14. /// Gets the object to serialize.
  15. /// </summary>
  16. /// <returns>Task{EmptyRequestResult}.</returns>
  17. protected override async Task<EmptyRequestResult> GetObjectToSerialize()
  18. {
  19. await ExecuteAction();
  20. return new EmptyRequestResult();
  21. }
  22. /// <summary>
  23. /// Performs the action.
  24. /// </summary>
  25. /// <returns>Task.</returns>
  26. protected abstract Task ExecuteAction();
  27. }
  28. }