Files
2026-06-04 11:42:34 +02:00

71 lines
1.8 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Threading;
using AOT;
namespace Sony.NP
{
// Token: 0x0200013A RID: 314
internal static class NpRequestsThread
{
// Token: 0x0600066F RID: 1647
[DllImport("UnityNpToolkit2")]
private static extern bool PrxPollFirstRequest();
// Token: 0x06000670 RID: 1648 RVA: 0x000124C7 File Offset: 0x000114C7
public static void Start()
{
NpRequestsThread.stopThread = false;
NpRequestsThread.requestsThread = new Thread(new ThreadStart(NpRequestsThread.RunProc));
NpRequestsThread.requestsThread.Name = "Requests Thread";
NpRequestsThread.requestsThread.Start();
}
// Token: 0x06000671 RID: 1649 RVA: 0x00012504 File Offset: 0x00011504
private static void RunProc()
{
NpRequestsThread.workLoad.WaitOne();
while (!NpRequestsThread.stopThread)
{
if (NpRequestsThread.PrxPollFirstRequest())
{
NpRequestsThread.workLoad.WaitOne();
}
else
{
Thread.Sleep(1000);
}
}
}
// Token: 0x06000672 RID: 1650 RVA: 0x00012555 File Offset: 0x00011555
public static void Execute()
{
NpRequestsThread.workLoad.Release();
}
// Token: 0x06000673 RID: 1651 RVA: 0x00012563 File Offset: 0x00011563
public static void Stop()
{
NpRequestsThread.stopThread = true;
NpRequestsThread.workLoad.Release();
}
// Token: 0x06000674 RID: 1652 RVA: 0x00012577 File Offset: 0x00011577
[MonoPInvokeCallback(typeof(Main.OnPrxCallbackEvent))]
public static void OnPrxNpRequestEvent()
{
NpRequestsThread.Execute();
}
// Token: 0x04000632 RID: 1586
private static Thread requestsThread;
// Token: 0x04000633 RID: 1587
private static bool stopThread = false;
// Token: 0x04000634 RID: 1588
private static Semaphore workLoad = new Semaphore(0, 1000);
}
}