public override void PrefetchProfile(SpeechEnroller.ProfileCallback callback) { ResetEnroller(); Uri uri = Configuration.Server.BuildEndpoint(URI_PATH_PROFILE); Logger?.LogDebug("SpeechEnroller_HttpClient_Version1.PreFetchProfile(callback): URI: " + uri.ToString()); using (var request = BuildRequest(CallMode.Profile, uri)) { var task = mHttpClient.SendAsync(request).ContinueWith((requestTask) => { if (requestTask.IsFaulted) { EnrollResult = SpeechEnroller.Result.Timeout; Logger?.LogError(requestTask.Exception); callback?.Invoke(null); return; } HandleResponse(CallMode.Profile, request, requestTask.Result).ContinueWith((responseTask) => { if (responseTask.IsFaulted) { EnrollResult = SpeechEnroller.Result.Timeout; Logger?.LogError(responseTask.Exception); callback?.Invoke(null); return; } callback?.Invoke(responseTask.Result ? Profiles[mLastProfileIndex] : null); }); }); if (task.IsFaulted) { EnrollResult = SpeechEnroller.Result.Timeout; Logger?.LogError(task.Exception); callback?.Invoke(null); } } }
public abstract void PrefetchProfile(SpeechEnroller.ProfileCallback profileCallback);