Files
MinecraftConsoles/Minecraft.Client/Orbis/OrbisExtras/ShutdownManager.h
2026-03-01 12:16:08 +08:00

48 lines
1.1 KiB
C++

#pragma once
class ShutdownManager
{
public:
typedef enum
{
eMainThread,
eLeaderboardThread,
eCommerceThread,
ePostProcessThread,
eRunUpdateThread,
eRenderChunkUpdateThread,
eServerThread,
eStorageManagerThreads,
eConnectionReadThreads,
eConnectionWriteThreads,
eEventQueueThreads,
eThreadIdCount
} EThreadId;
static void Initialise() {}
static void StartShutdown() {}
static void MainThreadHandleShutdown() {}
#ifdef __PS3__
static void SysUtilCallback(uint64_t status, uint64_t param, void *userdata);
#endif
static void HasStarted(EThreadId threadId) {};
static void HasStarted(EThreadId threadId, C4JThread::EventArray *eventArray) {};
static bool ShouldRun(EThreadId threadId) {return true;};
static void HasFinished(EThreadId threadId) {};
private:
#ifdef __PS3__
static bool s_threadShouldRun[eThreadIdCount];
static int s_threadRunning[eThreadIdCount];
static CRITICAL_SECTION s_threadRunningCS;
static C4JThread::EventArray *s_eventArray[eThreadIdCount];
static void RequestThreadToStop(int i);
static void WaitForSignalledToComplete();
static void StorageManagerCompleteFn();
#endif
};