Extensions.cs 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. #if !BESTHTTP_DISABLE_SIGNALR_CORE
  2. using System;
  3. namespace BestHTTP.SignalRCore
  4. {
  5. public static class HubConnectionExtensions
  6. {
  7. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1>(this HubConnection hub, string target)
  8. {
  9. if (hub.State != ConnectionStates.Connected)
  10. return null;
  11. return hub.GetUpStreamController<TResult>(target, 1, true, HubConnection.EmptyArgs);
  12. }
  13. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1>(this HubConnection hub, string target, params object[] args)
  14. {
  15. if (hub.State != ConnectionStates.Connected)
  16. return null;
  17. return hub.GetUpStreamController<TResult>(target, 1, true, args);
  18. }
  19. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2>(this HubConnection hub, string target)
  20. {
  21. if (hub.State != ConnectionStates.Connected)
  22. return null;
  23. return hub.GetUpStreamController<TResult>(target, 2, true, HubConnection.EmptyArgs);
  24. }
  25. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2>(this HubConnection hub, string target, params object[] args)
  26. {
  27. if (hub.State != ConnectionStates.Connected)
  28. return null;
  29. return hub.GetUpStreamController<TResult>(target, 2, true, args);
  30. }
  31. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target)
  32. {
  33. if (hub.State != ConnectionStates.Connected)
  34. return null;
  35. return hub.GetUpStreamController<TResult>(target, 3, true, HubConnection.EmptyArgs);
  36. }
  37. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target, params object[] args)
  38. {
  39. if (hub.State != ConnectionStates.Connected)
  40. return null;
  41. return hub.GetUpStreamController<TResult>(target, 3, true, args);
  42. }
  43. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target)
  44. {
  45. if (hub.State != ConnectionStates.Connected)
  46. return null;
  47. return hub.GetUpStreamController<TResult>(target, 4, true, HubConnection.EmptyArgs);
  48. }
  49. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target, params object[] args)
  50. {
  51. if (hub.State != ConnectionStates.Connected)
  52. return null;
  53. return hub.GetUpStreamController<TResult>(target, 4, true, args);
  54. }
  55. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target)
  56. {
  57. if (hub.State != ConnectionStates.Connected)
  58. return null;
  59. return hub.GetUpStreamController<TResult>(target, 5, true, HubConnection.EmptyArgs);
  60. }
  61. public static UpStreamItemController<TResult> GetUpAndDownStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target, params object[] args)
  62. {
  63. if (hub.State != ConnectionStates.Connected)
  64. return null;
  65. return hub.GetUpStreamController<TResult>(target, 5, true, args);
  66. }
  67. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1>(this HubConnection hub, string target)
  68. {
  69. if (hub.State != ConnectionStates.Connected)
  70. return null;
  71. return hub.GetUpStreamController<TResult>(target, 1, false, HubConnection.EmptyArgs);
  72. }
  73. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1>(this HubConnection hub, string target, params object[] args)
  74. {
  75. if (hub.State != ConnectionStates.Connected)
  76. return null;
  77. return hub.GetUpStreamController<TResult>(target, 1, false, args);
  78. }
  79. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2>(this HubConnection hub, string target)
  80. {
  81. if (hub.State != ConnectionStates.Connected)
  82. return null;
  83. return hub.GetUpStreamController<TResult>(target, 2, false, HubConnection.EmptyArgs);
  84. }
  85. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2>(this HubConnection hub, string target, params object[] args)
  86. {
  87. if (hub.State != ConnectionStates.Connected)
  88. return null;
  89. return hub.GetUpStreamController<TResult>(target, 2, false, args);
  90. }
  91. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target)
  92. {
  93. if (hub.State != ConnectionStates.Connected)
  94. return null;
  95. return hub.GetUpStreamController<TResult>(target, 3, false, HubConnection.EmptyArgs);
  96. }
  97. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3>(this HubConnection hub, string target, params object[] args)
  98. {
  99. if (hub.State != ConnectionStates.Connected)
  100. return null;
  101. return hub.GetUpStreamController<TResult>(target, 3, false, args);
  102. }
  103. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target)
  104. {
  105. if (hub.State != ConnectionStates.Connected)
  106. return null;
  107. return hub.GetUpStreamController<TResult>(target, 4, false, HubConnection.EmptyArgs);
  108. }
  109. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4>(this HubConnection hub, string target, params object[] args)
  110. {
  111. if (hub.State != ConnectionStates.Connected)
  112. return null;
  113. return hub.GetUpStreamController<TResult>(target, 4, false, args);
  114. }
  115. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target)
  116. {
  117. if (hub.State != ConnectionStates.Connected)
  118. return null;
  119. return hub.GetUpStreamController<TResult>(target, 5, false, HubConnection.EmptyArgs);
  120. }
  121. public static UpStreamItemController<TResult> GetUpStreamController<TResult, T1, T2, T3, T4, T5>(this HubConnection hub, string target, params object[] args)
  122. {
  123. if (hub.State != ConnectionStates.Connected)
  124. return null;
  125. return hub.GetUpStreamController<TResult>(target, 5, false, args);
  126. }
  127. }
  128. public static class UploadItemControllerExtensions
  129. {
  130. public static void UploadParam<TResult, P1>(this UpStreamItemController<TResult> controller, P1 item)
  131. {
  132. controller.UploadParam<P1>(controller.streamingIds[0], item);
  133. }
  134. public static void UploadParam<TResult, P1, P2>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2)
  135. {
  136. controller.UploadParam<P1>(controller.streamingIds[0], param1);
  137. controller.UploadParam<P2>(controller.streamingIds[1], param2);
  138. }
  139. public static void UploadParam<TResult, P1, P2, P3>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3)
  140. {
  141. controller.UploadParam<P1>(controller.streamingIds[0], param1);
  142. controller.UploadParam<P2>(controller.streamingIds[1], param2);
  143. controller.UploadParam<P3>(controller.streamingIds[2], param3);
  144. }
  145. public static void UploadParam<TResult, P1, P2, P3, P4>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3, P4 param4)
  146. {
  147. controller.UploadParam<P1>(controller.streamingIds[0], param1);
  148. controller.UploadParam<P2>(controller.streamingIds[1], param2);
  149. controller.UploadParam<P3>(controller.streamingIds[2], param3);
  150. controller.UploadParam<P4>(controller.streamingIds[3], param4);
  151. }
  152. public static void UploadParam<TResult, P1, P2, P3, P4, P5>(this UpStreamItemController<TResult> controller, P1 param1, P2 param2, P3 param3, P4 param4, P5 param5)
  153. {
  154. controller.UploadParam<P1>(controller.streamingIds[0], param1);
  155. controller.UploadParam<P2>(controller.streamingIds[1], param2);
  156. controller.UploadParam<P3>(controller.streamingIds[2], param3);
  157. controller.UploadParam<P4>(controller.streamingIds[3], param4);
  158. controller.UploadParam<P5>(controller.streamingIds[4], param5);
  159. }
  160. }
  161. }
  162. #endif