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 pendingEvents = new Queue(); // Token: 0x0400042D RID: 1069 private static object syncObject = new object(); } }