aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs')
-rw-r--r--MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs b/MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs
new file mode 100644
index 000000000..72df88519
--- /dev/null
+++ b/MediaBrowser.Common/Net/Handlers/BaseActionHandler.cs
@@ -0,0 +1,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();
+ }
+}