//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// AFXUI auxiliary module for Blazor-application (WASM) | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Reflection;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;

using CommonHelpers.WASM;

namespace AFXUI {

//**************************************************************************************************
partial class ULayoutComponentBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( [HRequired] MethodBase? method, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( method, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( [HRequired] MethodBase? method,
                                            Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( method, preliminary, bodyA );

//--------------------------------------------------------------------------------------------------

/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( bool useWaitingCursor,
                                            [HRequired] MethodBase? method, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( useWaitingCursor, method, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( bool useWaitingCursor,
                                            [HRequired] MethodBase? method,
                                            Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( useWaitingCursor, method, preliminary, bodyA );

//==================================================================================================

/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( [HRequired] MethodBase? method,
                                            UCircuitExtraParams extraParams, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( method, extraParams, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( [HRequired] MethodBase? method,
                                            UCircuitExtraParams extraParams,
                                            Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( method, extraParams, preliminary, bodyA );

//--------------------------------------------------------------------------------------------------

/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( bool useWaitingCursor, UCircuitExtraParams extraParams,
                                            [HRequired] MethodBase? method, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( useWaitingCursor, method, extraParams, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> DoStaticBlocking_A( bool useWaitingCursor, [HRequired] MethodBase? method,
                                            UCircuitExtraParams extraParams,
                                            Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStaticBlocking_A( useWaitingCursor, method, extraParams, preliminary, bodyA );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // ULayoutComponentBase
//**************************************************************************************************

} // AFXUI
