-
-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy path_CJavaScriptKit.h
146 lines (130 loc) · 3.71 KB
/
_CJavaScriptKit.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#ifndef _CJavaScriptKit_h
#define _CJavaScriptKit_h
#include <stdlib.h>
typedef unsigned int JavaScriptObjectRef;
typedef unsigned int JavaScriptHostFuncRef;
typedef enum {
JavaScriptValueKind_Invalid = -1,
JavaScriptValueKind_Boolean = 0,
JavaScriptValueKind_String = 1,
JavaScriptValueKind_Number = 2,
JavaScriptValueKind_Object = 3,
JavaScriptValueKind_Null = 4,
JavaScriptValueKind_Undefined = 5,
JavaScriptValueKind_Function = 6,
} JavaScriptValueKind;
typedef unsigned JavaScriptPayload1;
typedef unsigned JavaScriptPayload2;
typedef double JavaScriptPayload3;
typedef struct {
JavaScriptValueKind kind;
JavaScriptPayload1 payload1;
JavaScriptPayload2 payload2;
JavaScriptPayload3 payload3;
} RawJSValue;
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_set_prop")
))
extern void _set_prop(
const JavaScriptObjectRef _this,
const char *prop, const int length,
const JavaScriptValueKind kind,
const JavaScriptPayload1 payload1,
const JavaScriptPayload2 payload2,
const JavaScriptPayload3 payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_get_prop")
))
extern void _get_prop(
const JavaScriptObjectRef _this,
const char *prop, const int length,
JavaScriptValueKind *kind,
JavaScriptPayload1 *payload1,
JavaScriptPayload2 *payload2,
JavaScriptPayload3 *payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_set_subscript")
))
extern void _set_subscript(
const JavaScriptObjectRef _this,
const int length,
const JavaScriptValueKind kind,
const JavaScriptPayload1 payload1,
const JavaScriptPayload2 payload2,
const JavaScriptPayload3 payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_get_subscript")
))
extern void _get_subscript(
const JavaScriptObjectRef _this,
const int length,
JavaScriptValueKind *kind,
JavaScriptPayload1 *payload1,
JavaScriptPayload2 *payload2,
JavaScriptPayload3 *payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_load_string")
))
extern void _load_string(
const JavaScriptObjectRef ref,
unsigned char *buffer
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_call_function")
))
extern void _call_function(
const JavaScriptObjectRef ref,
const RawJSValue *argv, const int argc,
JavaScriptValueKind *result_kind,
JavaScriptPayload1 *result_payload1,
JavaScriptPayload2 *result_payload2,
JavaScriptPayload3 *result_payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_call_function_with_this")
))
extern void _call_function_with_this(
const JavaScriptObjectRef _this,
const JavaScriptObjectRef func_ref,
const RawJSValue *argv, const int argc,
JavaScriptValueKind *result_kind,
JavaScriptPayload1 *result_payload1,
JavaScriptPayload2 *result_payload2,
JavaScriptPayload3 *result_payload3
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_call_new")
))
extern void _call_new(
const JavaScriptObjectRef ref,
const RawJSValue *argv, const int argc,
JavaScriptObjectRef *result_obj
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_create_function")
))
extern void _create_function(
const JavaScriptHostFuncRef host_func_id,
const JavaScriptObjectRef *func_ref_ptr
);
__attribute__((
__import_module__("javascript_kit"),
__import_name__("swjs_destroy_ref")
))
extern void _destroy_ref(
const JavaScriptObjectRef ref
);
#endif /* _CJavaScriptKit_h */