internal static Task <object> GetApproachingEndTask(this IVpaid vpaid, CancellationToken cancellationToken) { return(TaskHelpers.FromEvent <object>(eh => vpaid.AdVideoThirdQuartile += eh, eh => vpaid.AdVideoThirdQuartile -= eh, cancellationToken)); }
internal static Task <EventArgs> GetLoadedTask(this IVpaid vpaid, CancellationToken cancellationToken) { return(TaskHelpers.FromEvent(eh => vpaid.AdLoaded += eh, eh => vpaid.AdLoaded -= eh, cancellationToken)); }
internal static Task <object> GetStoppedTask(this IVpaid vpaid, CancellationToken cancellationToken) { return(TaskHelpers.FromEvent <object>(eh => vpaid.AdStopped += eh, eh => vpaid.AdStopped -= eh, cancellationToken)); }
internal static Task <Exception> GetErrorTask(this IVpaid vpaid, CancellationToken cancellationToken) { return(TaskHelpers.FromEvent <VpaidMessageEventArgs>(eh => vpaid.AdError += eh, eh => vpaid.AdError -= eh, cancellationToken).ContinueWith(t => new Exception(t.Result.Message), TaskContinuationOptions.OnlyOnRanToCompletion)); }