42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
|
|
namespace Sony.NP
|
|
{
|
|
// Token: 0x02000111 RID: 273
|
|
internal static class PendingCallbackQueue
|
|
{
|
|
// Token: 0x060005BC RID: 1468 RVA: 0x000102C0 File Offset: 0x0000F2C0
|
|
public static void AddEvent(NpCallbackEvent callbackEvent)
|
|
{
|
|
Monitor.Enter(PendingCallbackQueue.syncObject);
|
|
PendingCallbackQueue.pendingEvents.Enqueue(callbackEvent);
|
|
Monitor.Exit(PendingCallbackQueue.syncObject);
|
|
}
|
|
|
|
// Token: 0x060005BD RID: 1469 RVA: 0x000102E8 File Offset: 0x0000F2E8
|
|
public static NpCallbackEvent PopEvent()
|
|
{
|
|
NpCallbackEvent npCallbackEvent = null;
|
|
if (Monitor.TryEnter(PendingCallbackQueue.syncObject))
|
|
{
|
|
if (PendingCallbackQueue.pendingEvents.Count == 0)
|
|
{
|
|
Monitor.Exit(PendingCallbackQueue.syncObject);
|
|
return null;
|
|
}
|
|
npCallbackEvent = PendingCallbackQueue.pendingEvents.Dequeue();
|
|
Monitor.Exit(PendingCallbackQueue.syncObject);
|
|
}
|
|
return npCallbackEvent;
|
|
}
|
|
|
|
// Token: 0x0400042C RID: 1068
|
|
private static Queue<NpCallbackEvent> pendingEvents = new Queue<NpCallbackEvent>();
|
|
|
|
// Token: 0x0400042D RID: 1069
|
|
private static object syncObject = new object();
|
|
}
|
|
}
|