Files
2024-08-23 15:49:34 +08:00

129 lines
5.2 KiB
C#

#if !BESTHTTP_DISABLE_SIGNALR_CORE
using System;
namespace BestHTTP.SignalRCore
{
public static class HubConnectionExtensions
{
public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 1, true);
}
public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 2, true);
}
public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 3, true);
}
public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 4, true);
}
public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 5, true);
}
public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 1);
}
public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 2);
}
public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 3);
}
public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 4);
}
public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target)
{
if (hub.State != ConnectionStates.Connected)
return null;
return hub.GetUpStreamController<TResult>(target, 5);
}
}
public static class UploadItemControllerExtensions
{
public static void UploadParam<TResult, P1>(this UpStreamItemController<TResult> controller, P1 item)
{
controller.UploadParam<P1>(controller.streamingIds[0], item);
}
public static void UploadParam<TResult, P1, P2>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2)
{
controller.UploadParam<P1>(controller.streamingIds[0], param1);
controller.UploadParam<P2>(controller.streamingIds[1], param2);
}
public static void UploadParam<TResult, P1, P2, P3>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3)
{
controller.UploadParam<P1>(controller.streamingIds[0], param1);
controller.UploadParam<P2>(controller.streamingIds[1], param2);
controller.UploadParam<P3>(controller.streamingIds[2], param3);
}
public static void UploadParam<TResult, P1, P2, P3, P4>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3, P4 param4)
{
controller.UploadParam<P1>(controller.streamingIds[0], param1);
controller.UploadParam<P2>(controller.streamingIds[1], param2);
controller.UploadParam<P3>(controller.streamingIds[2], param3);
controller.UploadParam<P4>(controller.streamingIds[3], param4);
}
public static void UploadParam<TResult, P1, P2, P3, P4, P5>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3, P4 param4, P5 param5)
{
controller.UploadParam<P1>(controller.streamingIds[0], param1);
controller.UploadParam<P2>(controller.streamingIds[1], param2);
controller.UploadParam<P3>(controller.streamingIds[2], param3);
controller.UploadParam<P4>(controller.streamingIds[3], param4);
controller.UploadParam<P5>(controller.streamingIds[4], param5);
}
}
}
#endif