mirror of
https://github.com/CPunch/Laika.git
synced 2025-09-26 11:50:05 +00:00
Added TaskService, ltask.[ch]
- cnc's main.c has an example of scheduling tasks - switched to C11, might go back to C99 if i get the motivation to write a windows-specific getTime() implementation
This commit is contained in:
32
lib/include/ltask.h
Normal file
32
lib/include/ltask.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef LAIKA_TASK_H
|
||||
#define LAIKA_TASK_H
|
||||
|
||||
#include <time.h>
|
||||
|
||||
struct sLaika_task;
|
||||
struct sLaika_taskService;
|
||||
typedef void (*taskCallback)(struct sLaika_taskService *service, struct sLaika_task *task, clock_t currTick, void *uData);
|
||||
|
||||
struct sLaika_task {
|
||||
struct sLaika_task *next;
|
||||
taskCallback callback;
|
||||
void *uData;
|
||||
long scheduled;
|
||||
};
|
||||
|
||||
struct sLaika_taskService {
|
||||
struct sLaika_task *headTask;
|
||||
};
|
||||
|
||||
void laikaT_initTaskService(struct sLaika_taskService *service);
|
||||
void laikaT_cleanTaskService(struct sLaika_taskService *service);
|
||||
|
||||
struct sLaika_task *laikaT_newTask(struct sLaika_taskService *service, int delta, taskCallback callback, void *uData);
|
||||
void laikaT_delTask(struct sLaika_taskService *service, struct sLaika_task *task);
|
||||
|
||||
void laikaT_pollTasks(struct sLaika_taskService *service);
|
||||
|
||||
/* will return the delta time in ms till the next event. -1 for no tasks scheduled */
|
||||
int laikaT_timeTillTask(struct sLaika_taskService *service);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user