Files
GameDevTVObstacleDodge/Library/PackageCache/com.unity.collab-proxy@1ec4e416a4af/Editor/UI/ThreadWaiterRegistry.cs

44 lines
1.0 KiB
C#
Raw Normal View History

2026-01-08 16:50:20 +00:00
using System.Collections.Generic;
using Codice.Client.Common.Threading;
namespace Unity.PlasticSCM.Editor.UI
{
internal static class ThreadWaiterRegistry
{
internal static void Register(IThreadWaiter waiter)
{
lock (mLock)
{
mRunningWaiters.Add(waiter);
}
}
internal static void Unregister(IThreadWaiter waiter)
{
lock (mLock)
{
mRunningWaiters.Remove(waiter);
}
}
internal static bool HasRunningOperations()
{
lock (mLock)
{
return mRunningWaiters.Count > 0;
}
}
internal static int GetRunningOperationsCount()
{
lock (mLock)
{
return mRunningWaiters.Count;
}
}
static readonly object mLock = new object();
static readonly HashSet<IThreadWaiter> mRunningWaiters = new HashSet<IThreadWaiter>();
}
}