// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Threading; using System.Threading.Tasks; namespace Microsoft.AspNetCore.SignalR.Client { /// /// Extension methods for . /// public partial class HubConnectionExtensions { /// /// Invokes a hub method on the server using the specified method name. /// /// The hub connection. /// The name of the server method to invoke. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, Array.Empty(), cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and argument. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The sixth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5, arg6 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The sixth argument. /// The seventh argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5, arg6, arg7 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The sixth argument. /// The seventh argument. /// The eighth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The sixth argument. /// The seventh argument. /// The eighth argument. /// The ninth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The first argument. /// The second argument. /// The third argument. /// The fourth argument. /// The fifth argument. /// The sixth argument. /// The seventh argument. /// The eighth argument. /// The ninth argument. /// The tenth argument. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeAsync(this HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, CancellationToken cancellationToken = default) { return hubConnection.InvokeCoreAsync(methodName, new[] { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10 }, cancellationToken); } /// /// Invokes a hub method on the server using the specified method name and arguments. /// /// The hub connection. /// The name of the server method to invoke. /// The arguments used to invoke the server method. /// The token to monitor for cancellation requests. The default value is . /// A that represents the asynchronous invoke. public static Task InvokeCoreAsync(this HubConnection hubConnection, string methodName, object[] args, CancellationToken cancellationToken = default) { if (hubConnection == null) { throw new ArgumentNullException(nameof(hubConnection)); } return hubConnection.InvokeCoreAsync(methodName, typeof(object), args, cancellationToken); } } }