//
// Created by xajhu on 2021/7/1 0001.
//

#ifndef DAEMON_AGENT_TASK_TASK_MANAGER_H
#define DAEMON_AGENT_TASK_TASK_MANAGER_H
#ifdef __cplusplus
extern "C" {
#endif

#include <uv.h>

#define LIBUV_CURRENT_TIME_S() (time(NULL))

typedef void (*system_exit_cb)(void *);

void       task_manager_run(void);
uv_loop_t *get_task_manager(void);
void       task_manager_exit();
int        is_system_cleanup();
int        task_add_exit_event_handler(system_exit_cb cb, void *userdata);

#ifdef __cplusplus
}
#endif
#endif    //DAEMON_AGENT_TASK_TASK_MANAGER_H