using System; using System.Collections.Generic; namespace Sony.NP { // Token: 0x02000136 RID: 310 internal static class PendingAsyncRequestList { // Token: 0x170002E3 RID: 739 // (get) Token: 0x06000657 RID: 1623 RVA: 0x00011CF8 File Offset: 0x00010CF8 public static List PendingRequests { get { List list2; lock (PendingAsyncRequestList.syncObject) { List list = new List(PendingAsyncRequestList.pendingRequests); list2 = list; } return list2; } } // Token: 0x06000658 RID: 1624 RVA: 0x00011D40 File Offset: 0x00010D40 internal static void Shutdown() { lock (PendingAsyncRequestList.syncObject) { PendingAsyncRequestList.pendingRequests.Clear(); } } // Token: 0x06000659 RID: 1625 RVA: 0x00011D84 File Offset: 0x00010D84 public static bool IsPending(uint npRequestId) { bool flag; lock (PendingAsyncRequestList.syncObject) { flag = PendingAsyncRequestList.requestsLookup.ContainsKey(npRequestId); } return flag; } // Token: 0x0600065A RID: 1626 RVA: 0x00011DC8 File Offset: 0x00010DC8 internal static void AddRequest(uint npRequestId, RequestBase request) { lock (PendingAsyncRequestList.syncObject) { PendingRequest pendingRequest = new PendingRequest(); pendingRequest.npRequestId = npRequestId; pendingRequest.request = request; pendingRequest.abortPending = false; PendingAsyncRequestList.requestsLookup.Add(npRequestId, pendingRequest); PendingAsyncRequestList.pendingRequests.Add(pendingRequest); } } // Token: 0x0600065B RID: 1627 RVA: 0x00011E34 File Offset: 0x00010E34 internal static RequestBase RemoveRequest(uint npRequestId) { RequestBase requestBase; lock (PendingAsyncRequestList.syncObject) { PendingRequest pendingRequest = null; if (!PendingAsyncRequestList.requestsLookup.TryGetValue(npRequestId, out pendingRequest)) { requestBase = null; } else { PendingAsyncRequestList.requestsLookup.Remove(npRequestId); PendingAsyncRequestList.pendingRequests.Remove(pendingRequest); requestBase = pendingRequest.request; } } return requestBase; } // Token: 0x0600065C RID: 1628 RVA: 0x00011EA4 File Offset: 0x00010EA4 internal static bool MarkRequestAsAborting(uint npRequestId) { bool flag; lock (PendingAsyncRequestList.syncObject) { PendingRequest pendingRequest = null; if (!PendingAsyncRequestList.requestsLookup.TryGetValue(npRequestId, out pendingRequest)) { flag = false; } else { pendingRequest.abortPending = true; flag = true; } } return flag; } // Token: 0x0600065D RID: 1629 RVA: 0x00011F00 File Offset: 0x00010F00 internal static void RequestHasBeenAborted(uint npRequestId) { lock (PendingAsyncRequestList.syncObject) { PendingAsyncRequestList.RemoveRequest(npRequestId); } } // Token: 0x04000626 RID: 1574 private static Dictionary requestsLookup = new Dictionary(); // Token: 0x04000627 RID: 1575 private static List pendingRequests = new List(); // Token: 0x04000628 RID: 1576 private static object syncObject = new object(); } }