Here are the examples of the csharp api System.Threading.Tasks.TaskCompletionSource.TrySetResult(ReadyEventArgs) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
19
Source : App.xaml.cs
with MIT License
from UnicordDev
with MIT License
from UnicordDev
internal static async Task LoginAsync(string token, AsyncEventHandler<ReadyEventArgs> onReady, Func<Exception, Task> onError, bool background, UserStatus status = UserStatus.Online)
{
Exception taskEx = null;
await _connectSemapreplaced.WaitAsync();
try
{
var loader = ResourceLoader.GetForViewIndependentUse();
if (Discord == null)
{
if (background || await WindowsHelloManager.VerifyAsync(VERIFY_LOGIN, loader.GetString("VerifyLoginDisplayReason")))
{
try
{
async Task ReadyHandler(ReadyEventArgs e)
{
LocalSettings.Save("Token", token);
e.Client.Ready -= ReadyHandler;
e.Client.SocketErrored -= SocketErrored;
e.Client.ClientErrored -= ClientErrored;
_readySource.TrySetResult(e);
if (onReady != null)
{
await onReady(e);
}
}
Task SocketErrored(SocketErrorEventArgs e)
{
e.Client.Ready -= ReadyHandler;
e.Client.SocketErrored -= SocketErrored;
e.Client.ClientErrored -= ClientErrored;
Logger.LogError(e.Exception);
_readySource.SetException(e.Exception);
return Task.CompletedTask;
}
Task ClientErrored(ClientErrorEventArgs e)
{
e.Client.Ready -= ReadyHandler;
e.Client.SocketErrored -= SocketErrored;
e.Client.ClientErrored -= ClientErrored;
Logger.LogError(e.Exception);
_readySource.SetException(e.Exception);
return Task.CompletedTask;
}
Discord = new DiscordClient(new DiscordConfiguration()
{
Token = token,
TokenType = TokenType.User,
LogLevel = DSharpPlus.LogLevel.Debug,
});
Discord.DebugLogger.LogMessageReceived += (o, ee) => Logger.Log(ee.Message, ee.Application);
Discord.Ready += ReadyHandler;
Discord.SocketErrored += SocketErrored;
Discord.ClientErrored += ClientErrored;
await Discord.ConnectAsync(status: status, idlesince: replacedyticsInfo.VersionInfo.DeviceFamily == "Windows.Desktop" ? (DateTimeOffset?)null : DateTimeOffset.Now);
}
catch (Exception ex)
{
Logger.LogError(ex);
Tools.ResetPreplacedwordVault();
_readySource.TrySetException(ex);
await onError(ex);
}
}
else
{
await onError(null);
}
}
else
{
try
{
var res = await _readySource.Task;
await onReady(res);
}
catch
{
await onError(taskEx);
}
}
}
finally
{
_connectSemapreplaced.Release();
}
}