aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs
blob: 72df88519ba98befc3446ef77e71d71cf35e7294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using MediaBrowser.Common.Kernel;
using MediaBrowser.Model.Entities;
using System.Threading.Tasks;

namespace MediaBrowser.Common.Net.Handlers
{
    /// <summary>
    /// Class BaseActionHandler
    /// </summary>
    /// <typeparam name="TKernelType">The type of the T kernel type.</typeparam>
    public abstract class BaseActionHandler<TKernelType> : BaseSerializationHandler<TKernelType, EmptyRequestResult>
        where TKernelType : IKernel
    {
        /// <summary>
        /// Gets the object to serialize.
        /// </summary>
        /// <returns>Task{EmptyRequestResult}.</returns>
        protected override async Task<EmptyRequestResult> GetObjectToSerialize()
        {
            await ExecuteAction();

            return new EmptyRequestResult();
        }

        /// <summary>
        /// Performs the action.
        /// </summary>
        /// <returns>Task.</returns>
        protected abstract Task ExecuteAction();
    }
}