tildefriends/src/taskstub.js.h

30 lines
893 B
C
Raw Normal View History

#pragma once
/**
** \defgroup taskstub Task Stub
** Task Stub is a poorly-named representation of a remote Task that can be
** exposed to JS.
** @{
*/
#include "quickjs.h"
#include "uv.h"
typedef int taskid_t;
typedef struct _tf_packetstream_t tf_packetstream_t;
typedef struct _tf_task_t tf_task_t;
typedef struct _tf_taskstub_t tf_taskstub_t;
void tf_taskstub_startup();
JSValue tf_taskstub_register(JSContext* context);
taskid_t tf_taskstub_get_id(const tf_taskstub_t* stub);
JSValue tf_taskstub_get_task_object(const tf_taskstub_t* stub);
tf_packetstream_t* tf_taskstub_get_stream(const tf_taskstub_t* stub);
tf_task_t* tf_taskstub_get_owner(const tf_taskstub_t* stub);
tf_taskstub_t* tf_taskstub_create_parent(tf_task_t* task, uv_file file);
void tf_taskstub_on_error(tf_taskstub_t* stub, JSValue error);
void tf_taskstub_on_print(tf_taskstub_t* stub, JSValue arguments);
/** @} */