// Copyright (c) The Avalonia Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. using System; using System.Threading; using Avalonia.Threading; namespace Avalonia.Platform { /// /// Provides platform-specific services relating to threading. /// public interface IPlatformThreadingInterface { void RunLoop(CancellationToken cancellationToken); /// /// Starts a timer. /// /// The interval. /// The action to call on each tick. /// An used to stop the timer. IDisposable StartTimer(TimeSpan interval, Action tick); void Signal(DispatcherPriority priority); bool CurrentThreadIsLoopThread { get; } event Action Signaled; } }