13#if defined(__cplusplus)
21#define GSICORE_DYNAMIC_TASK_LIST
22#define GSICORE_MAXTASKS 40
30 GSCore_SHUTDOWN_PENDING,
31 GSCore_SHUTDOWN_COMPLETE
40 GSTaskResult_InProgress,
41 GSTaskResult_Canceled,
42 GSTaskResult_TimedOut,
50typedef void(*GSTaskExecuteFunc) (
void* theTaskData);
51typedef void(*GSTaskCallbackFunc)(
void* theTaskData, GSTaskResult theResult);
52typedef void(*GSTaskCancelFunc) (
void* theTaskData);
53typedef gsi_bool(*GSTaskCleanupFunc) (
void* theTaskData);
54typedef GSTaskResult(*GSTaskThinkFunc)(
void* theTaskData);
73 gsi_i32 mIsCallbackPending;
77 GSTaskExecuteFunc mExecuteFunc;
78 GSTaskCallbackFunc mCallbackFunc;
79 GSTaskCancelFunc mCancelFunc;
80 GSTaskCleanupFunc mCleanupFunc;
81 GSTaskThinkFunc mThinkFunc;
91 gsi_bool
volatile mIsStaticInitComplete;
92 gsi_bool
volatile mIsInitialized;
93 gsi_bool
volatile mIsShuttingDown;
95 GSICriticalSection mQueueCrit;
96 #ifdef GSICORE_DYNAMIC_TASK_LIST
99 GSTask* mTaskArray[GSICORE_MAXTASKS];
107void gsCoreInitialize (
void);
108void gsCoreThink (gsi_time theMS);
109void gsCoreShutdown (
void);
110GSCoreValue gsCoreIsShutdown(
void);
112GSTaskResult gsCoreTaskThink(
GSTask* theTask);
113void gsiCoreExecuteTask (
GSTask* theTask, gsi_time theTimeoutMs);
114void gsiCoreCancelTask (
GSTask* theTask);
116GSTask* gsiCoreCreateTask(
void);
121#if defined(__cplusplus)