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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
|
/* javascriptcoregtk-4.0.vapi generated by vapigen, do not modify. */
[CCode (cprefix = "JS", gir_namespace = "JavaScript", gir_version = "4.0", lower_case_cprefix = "JS_")]
[Version (deprecated = true, deprecated_since = "2.22")]
namespace JS {
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "void", free_function = "JSClassRelease", has_type_id = false)]
[Compact]
public class Class {
[CCode (cname = "JSClassRelease")]
[DestroysInstance]
public void release ();
[CCode (cname = "JSClassRetain")]
public JS.Class retain ();
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "const struct OpaqueJSContext", free_function = "", has_type_id = false)]
[Compact]
public class Context {
[CCode (cname = "JSCheckScriptSyntax")]
public bool check_script_syntax (JS.String script, JS.String? source_url = null, int starting_line_number = 1, out JS.Value? exception = null);
[CCode (cname = "JSGarbageCollect")]
public void collect_garbage ();
[CCode (cname = "JSEvaluateScript")]
public unowned JS.Value? evaluate_script (JS.String script, JS.Object? this_object = null, JS.String? source_url = null, int starting_line_number = 1, out JS.Value? exception = null);
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "struct OpaqueJSContext", free_function = "JSGlobalContextRelease", has_type_id = false)]
[Compact]
public class GlobalContext : JS.Context {
[CCode (cname = "JSGlobalContextCreate")]
public GlobalContext (JS.Class? global_object_class = null);
[CCode (cname = "JSGlobalContextRelease")]
[DestroysInstance]
public void release ();
[CCode (cname = "JSGlobalContextRetain")]
public JS.GlobalContext retain ();
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "struct OpaqueJSValue", free_function = "", has_type_id = false)]
[Compact]
public class Object {
[CCode (cname = "JSObjectCallAsFunction", instance_pos = 1.1)]
public JS.Value call_as_function (JS.Context ctx, JS.Object? this_object, [CCode (array_length_pos = 2.5)] JS.Value[]? arguments, out JS.Value? exception);
[CCode (cname = "JSObjectGetProperty", instance_pos = 1.1)]
public JS.Value get_property (JS.Context ctx, JS.String property_name, out JS.Value? exception);
[CCode (cname = "JSObjectHasProperty", instance_pos = 1.1)]
public bool has_property (JS.Context ctx, JS.String property_name);
[CCode (cname = "JSObjectMakeFunction")]
public Object.make_function (JS.Context ctx, JS.String? name, [CCode (array_length_pos = 2.5)] JS.String[]? parameter_names, JS.String body, JS.String? source_url, int starting_line_number, out JS.Value? exception);
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "struct OpaqueJSString", free_function = "JSStringRelease", has_type_id = false)]
[Compact]
public class String {
[CCode (cname = "JSStringCreateWithUTF8CString")]
public String.create_with_utf8_cstring (string str);
[CCode (cname = "JSStringGetLength")]
public size_t get_length ();
[CCode (cname = "JSStringGetMaximumUTF8CStringSize")]
public size_t get_maximum_utf8_cstring_size ();
[CCode (cname = "JSStringGetUTF8CString")]
public size_t get_utf8_cstring ([CCode (array_length_type = "gsize")] uint8[] buffer);
[CCode (cname = "JSStringIsEqual")]
public bool is_equal (JS.String b);
[CCode (cname = "JSStringIsEqualToUTF8CString")]
public bool is_equal_to_utf8_cstring (string b);
[CCode (cname = "JSStringRelease")]
[DestroysInstance]
public void release ();
[CCode (cname = "JSStringRetain")]
public JS.String retain ();
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "const struct OpaqueJSValue", free_function = "", has_type_id = false)]
[Compact]
public class Value {
[CCode (cname = "JSValueGetType", instance_pos = 1.1)]
public JS.Type get_type (JS.Context ctx);
[CCode (cname = "JSValueGetTypedArrayType", instance_pos = 1.1)]
public JS.TypedArrayType get_typed_array_type (JS.Context ctx, out JS.Value? exception = null);
[CCode (cname = "JSValueIsArray", instance_pos = 1.1)]
public bool is_array (JS.Context ctx);
[CCode (cname = "JSValueIsBoolean", instance_pos = 1.1)]
public bool is_boolean (JS.Context ctx);
[CCode (cname = "JSValueIsDate", instance_pos = 1.1)]
public bool is_date (JS.Context ctx);
[CCode (cname = "JSValueIsEqual", instance_pos = 1.1)]
public bool is_equal (JS.Context ctx, JS.Value b, out JS.Value? exception = null);
[CCode (cname = "JSValueIsNull", instance_pos = 1.1)]
public bool is_null (JS.Context ctx);
[CCode (cname = "JSValueIsNumber", instance_pos = 1.1)]
public bool is_number (JS.Context ctx);
[CCode (cname = "JSValueIsObject", instance_pos = 1.1)]
public bool is_object (JS.Context ctx);
[CCode (cname = "JSValueIsObjectOfClass", instance_pos = 1.1)]
public bool is_object_of_class (JS.Context ctx, JS.Class js_class);
[CCode (cname = "JSValueIsStrictEqual", instance_pos = 1.1)]
public bool is_strict_equal (JS.Context ctx, JS.Value b);
[CCode (cname = "JSValueIsString", instance_pos = 1.1)]
public bool is_string (JS.Context ctx);
[CCode (cname = "JSValueIsUndefined", instance_pos = 1.1)]
public bool is_undefined (JS.Context ctx);
[CCode (cname = "JSValueProtect", instance_pos = 1.1)]
public void protect (JS.Context ctx);
[CCode (cname = "JSValueToBoolean", instance_pos = 1.1)]
public bool to_boolean (JS.Context ctx);
[CCode (cname = "JSValueToNumber", instance_pos = 1.1)]
public double to_number (JS.Context ctx, out JS.Value? exception = null);
[CCode (cname = "JSValueToObject", instance_pos = 1.1)]
public JS.Object to_object (JS.Context ctx, out JS.Value? exception = null);
[CCode (cname = "JSValueToStringCopy", instance_pos = 1.1)]
public JS.String to_string_copy (JS.Context ctx, out JS.Value? exception = null);
[CCode (cname = "JSValueUnprotect", instance_pos = 1.1)]
public void unprotect (JS.Context ctx);
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "JSType", has_type_id = false)]
public enum Type {
[CCode (cname = "kJSTypeUndefined")]
UNDEFINED,
[CCode (cname = "kJSTypeNull")]
NULL,
[CCode (cname = "kJSTypeBoolean")]
BOOLEAN,
[CCode (cname = "kJSTypeNumber")]
NUMBER,
[CCode (cname = "kJSTypeString")]
STRING,
[CCode (cname = "kJSTypeObject")]
OBJECT
}
[CCode (cheader_filename = "JavaScriptCore/JavaScript.h", cname = "JSTypedArrayType", has_type_id = false)]
public enum TypedArrayType {
[CCode (cname = "kJSTypedArrayTypeInt8Array")]
INT8,
[CCode (cname = "kJSTypedArrayTypeInt16Array")]
INT16,
[CCode (cname = "kJSTypedArrayTypeInt32Array")]
INT32,
[CCode (cname = "kJSTypedArrayTypeUint8Array")]
UINT8,
[CCode (cname = "kJSTypedArrayTypeUint8ClampedArray")]
UINT8_CLAMPED,
[CCode (cname = "kJSTypedArrayTypeUint16Array")]
UINT16,
[CCode (cname = "kJSTypedArrayTypeUint32Array")]
UINT32,
[CCode (cname = "kJSTypedArrayTypeFloat32Array")]
FLOAT32,
[CCode (cname = "kJSTypedArrayTypeFloat64Array")]
FLOAT64,
[CCode (cname = "kJSTypedArrayTypeArrayBuffer")]
BUFFER,
[CCode (cname = "kJSTypedArrayTypeNone")]
NONE
}
}
[CCode (cprefix = "JSC", gir_namespace = "JavaScriptCore", gir_version = "4.0", lower_case_cprefix = "jsc_")]
namespace JSC {
namespace Options {
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_OPTIONS_USE_DFG")]
[Version (since = "2.24")]
public const string USE_DFG;
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_OPTIONS_USE_FTL")]
[Version (since = "2.24")]
public const string USE_FTL;
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_OPTIONS_USE_JIT")]
[Version (since = "2.24")]
public const string USE_JIT;
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_OPTIONS_USE_LLINT")]
[Version (since = "2.24")]
public const string USE_LLINT;
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static void @foreach (JSC.OptionsFunc function);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_boolean (string option, out bool value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_double (string option, out double value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_int (string option, out int value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static GLib.OptionGroup get_option_group ();
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_range_string (string option, out string value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_size (string option, out size_t value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_string (string option, out string value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool get_uint (string option, out uint value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_boolean (string option, bool value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_double (string option, double value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_int (string option, int value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_range_string (string option, string value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_size (string option, size_t value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_string (string option, string value);
[CCode (cheader_filename = "jsc/jsc.h")]
[Version (since = "2.24")]
public static bool set_uint (string option, uint value);
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_class_get_type ()")]
public class Class : GLib.Object {
[CCode (has_construct_function = false)]
protected Class ();
[CCode (cname = "jsc_class_add_constructor_variadic")]
public JSC.Value add_constructor (string? name, [CCode (delegate_target_pos = 2.33333, destroy_notify_pos = 2.66667, type = "GCallback")] owned JSC.ClassConstructorCb callback, GLib.Type return_type);
[CCode (cname = "jsc_class_add_method_variadic")]
public void add_method (string name, [CCode (delegate_target_pos = 2.33333, destroy_notify_pos = 2.66667, type = "GCallback")] owned JSC.ClassMethodCb callback, GLib.Type return_type);
public void add_property (string name, GLib.Type property_type, [CCode (delegate_target_pos = 4.33333, destroy_notify_pos = 4.66667, type = "GCallback")] owned JSC.ClassGetPropertyCb? getter, [CCode (delegate_target_pos = 4.33333, destroy_notify_pos = 4.66667, type = "GCallback")] owned JSC.ClassSetPropertyCb? setter);
public unowned string get_name ();
public unowned JSC.Class get_parent ();
[NoAccessorMethod]
public JSC.Context context { construct; }
public string name { get; construct; }
public JSC.Class parent { get; construct; }
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_context_get_type ()")]
public class Context : GLib.Object {
[CCode (has_construct_function = false)]
public Context ();
public JSC.CheckSyntaxResult check_syntax (string code, ssize_t length, JSC.CheckSyntaxMode mode, string uri, uint line_number, out JSC.Exception exception);
public void clear_exception ();
public JSC.Value evaluate (string code, ssize_t length);
public JSC.Value evaluate_in_object (string code, ssize_t length, void* object_instance, JSC.Class? object_class, string uri, uint line_number, out JSC.Value object);
public JSC.Value evaluate_with_source_uri (string code, ssize_t length, string uri, uint line_number);
public static unowned JSC.Context? get_current ();
public unowned JSC.Exception? get_exception ();
public JSC.Value get_global_object ();
public JSC.Value get_value (string name);
public unowned JSC.VirtualMachine get_virtual_machine ();
public void pop_exception_handler ();
public void push_exception_handler (owned JSC.ExceptionHandler handler);
public unowned JSC.Class register_class (string name, JSC.Class? parent_class, JSC.ClassVTable? vtable, GLib.DestroyNotify? destroy_notify);
public void set_value (string name, JSC.Value value);
public void @throw (string error_message);
public void throw_exception (JSC.Exception exception);
public void throw_with_name (string error_name, string error_message);
[CCode (has_construct_function = false)]
public Context.with_virtual_machine (JSC.VirtualMachine vm);
public JSC.VirtualMachine virtual_machine { get; construct; }
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_exception_get_type ()")]
public class Exception : GLib.Object {
[CCode (has_construct_function = false)]
public Exception (JSC.Context context, string message);
public unowned string? get_backtrace_string ();
public uint get_column_number ();
public uint get_line_number ();
public unowned string get_message ();
public unowned string get_name ();
public unowned string? get_source_uri ();
public string report ();
public string to_string ();
[CCode (has_construct_function = false)]
public Exception.with_name (JSC.Context context, string name, string message);
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_value_get_type ()")]
public class Value : GLib.Object {
[CCode (has_construct_function = false)]
protected Value ();
[CCode (has_construct_function = false)]
[Version (since = "2.38")]
public Value.array_buffer (JSC.Context context, void* data, size_t size, GLib.DestroyNotify? destroy_notify, void* user_data);
[Version (since = "2.38")]
public void* array_buffer_get_data (size_t? size);
[Version (since = "2.38")]
public size_t array_buffer_get_size ();
[CCode (has_construct_function = false)]
public Value.array_from_garray (JSC.Context context, GLib.GenericArray<JSC.Value>? array);
[CCode (has_construct_function = false)]
public Value.array_from_strv (JSC.Context context, [CCode (array_length = false, array_null_terminated = true)] global::string[] strv);
[CCode (has_construct_function = false)]
public Value.boolean (JSC.Context context, bool value);
public JSC.Value constructor_callv ([CCode (array_length_cname = "n_parameters", array_length_pos = 0.5, array_length_type = "guint")] JSC.Value[]? parameters);
[CCode (has_construct_function = false)]
[Version (since = "2.28")]
public Value.from_json (JSC.Context context, global::string json);
public JSC.Value function_callv ([CCode (array_length_cname = "n_parameters", array_length_pos = 0.5, array_length_type = "guint")] JSC.Value[]? parameters);
[CCode (has_construct_function = false)]
public Value.function_variadic (JSC.Context context, global::string? name, GLib.Callback callback, void* user_data, GLib.DestroyNotify? destroy_notify, GLib.Type return_type);
[CCode (has_construct_function = false)]
public Value.functionv (JSC.Context context, global::string? name, GLib.Callback callback, void* user_data, GLib.DestroyNotify? destroy_notify, GLib.Type return_type, [CCode (array_length_cname = "n_parameters", array_length_pos = 6.5, array_length_type = "guint")] GLib.Type[]? parameter_types);
public unowned JSC.Context get_context ();
public bool is_array ();
[Version (since = "2.38")]
public bool is_array_buffer ();
public bool is_boolean ();
public bool is_constructor ();
public bool is_function ();
public bool is_null ();
public bool is_number ();
public bool is_object ();
public bool is_string ();
[Version (since = "2.38")]
public bool is_typed_array ();
public bool is_undefined ();
[CCode (has_construct_function = false)]
public Value.@null (JSC.Context context);
[CCode (has_construct_function = false)]
public Value.number (JSC.Context context, double number);
[CCode (has_construct_function = false)]
public Value.object (JSC.Context context, owned void* instance, JSC.Class? jsc_class);
public void object_define_property_accessor (global::string property_name, JSC.ValuePropertyFlags flags, GLib.Type property_type, [CCode (scope = "async")] GLib.Callback? getter, GLib.Callback? setter, void* user_data, GLib.DestroyNotify? destroy_notify);
public void object_define_property_data (global::string property_name, JSC.ValuePropertyFlags flags, JSC.Value? property_value);
public bool object_delete_property (global::string name);
[CCode (array_length = false, array_null_terminated = true)]
public global::string[]? object_enumerate_properties ();
public JSC.Value object_get_property (global::string name);
public JSC.Value object_get_property_at_index (uint index);
public bool object_has_property (global::string name);
public JSC.Value object_invoke_methodv (global::string name, [CCode (array_length_cname = "n_parameters", array_length_pos = 1.5, array_length_type = "guint")] JSC.Value[]? parameters);
public bool object_is_instance_of (global::string name);
public void object_set_property (global::string name, JSC.Value property);
public void object_set_property_at_index (uint index, JSC.Value property);
[CCode (has_construct_function = false)]
public Value.string (JSC.Context context, global::string? string);
[CCode (has_construct_function = false)]
public Value.string_from_bytes (JSC.Context context, GLib.Bytes? bytes);
public bool to_boolean ();
public double to_double ();
public int32 to_int32 ();
[Version (since = "2.28")]
public global::string to_json (uint indent);
public global::string to_string ();
public GLib.Bytes to_string_as_bytes ();
[CCode (has_construct_function = false)]
[Version (since = "2.38")]
public Value.typed_array (JSC.Context context, JSC.TypedArrayType type, size_t length);
[Version (since = "2.38")]
public JSC.Value typed_array_get_buffer ();
[Version (since = "2.38")]
public void* typed_array_get_data (out size_t length);
[Version (since = "2.38")]
public size_t typed_array_get_length ();
[Version (since = "2.38")]
public size_t typed_array_get_offset ();
[Version (since = "2.38")]
public size_t typed_array_get_size ();
[Version (since = "2.38")]
public JSC.TypedArrayType typed_array_get_type ();
[CCode (has_construct_function = false)]
[Version (since = "2.38")]
public Value.typed_array_with_buffer (JSC.Value array_buffer, JSC.TypedArrayType type, size_t offset, ssize_t length);
[CCode (has_construct_function = false)]
public Value.undefined (JSC.Context context);
public JSC.Context context { get; construct; }
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_virtual_machine_get_type ()")]
public class VirtualMachine : GLib.Object {
[CCode (has_construct_function = false)]
public VirtualMachine ();
}
[CCode (cheader_filename = "jsc/jsc.h", type_id = "jsc_weak_value_get_type ()")]
public class WeakValue : GLib.Object {
[CCode (has_construct_function = false)]
public WeakValue (JSC.Value value);
public JSC.Value get_value ();
[NoAccessorMethod]
public JSC.Value value { construct; }
public signal void cleared ();
}
[CCode (cheader_filename = "jsc/jsc.h", has_type_id = false)]
public struct ClassVTable {
public weak JSC.ClassGetPropertyFunction get_property;
public weak JSC.ClassSetPropertyFunction set_property;
public weak JSC.ClassHasPropertyFunction has_property;
public weak JSC.ClassDeletePropertyFunction delete_property;
public weak JSC.ClassEnumeratePropertiesFunction enumerate_properties;
}
[CCode (cheader_filename = "jsc/jsc.h", cprefix = "JSC_CHECK_SYNTAX_MODE_", has_type_id = false)]
public enum CheckSyntaxMode {
SCRIPT,
MODULE
}
[CCode (cheader_filename = "jsc/jsc.h", cprefix = "JSC_CHECK_SYNTAX_RESULT_", has_type_id = false)]
public enum CheckSyntaxResult {
SUCCESS,
RECOVERABLE_ERROR,
IRRECOVERABLE_ERROR,
UNTERMINATED_LITERAL_ERROR,
OUT_OF_MEMORY_ERROR,
STACK_OVERFLOW_ERROR
}
[CCode (cheader_filename = "jsc/jsc.h", cprefix = "JSC_OPTION_", has_type_id = false)]
[Version (since = "2.24")]
public enum OptionType {
BOOLEAN,
INT,
UINT,
SIZE,
DOUBLE,
STRING,
RANGE_STRING
}
[CCode (cheader_filename = "jsc/jsc.h", cprefix = "JSC_TYPED_ARRAY_", has_type_id = false)]
[Version (since = "2.38")]
public enum TypedArrayType {
NONE,
INT8,
INT16,
INT32,
INT64,
UINT8,
UINT8_CLAMPED,
UINT16,
UINT32,
UINT64,
FLOAT32,
FLOAT64
}
[CCode (cheader_filename = "jsc/jsc.h", cprefix = "JSC_VALUE_PROPERTY_", has_type_id = false)]
[Flags]
public enum ValuePropertyFlags {
CONFIGURABLE,
ENUMERABLE,
WRITABLE
}
[CCode (cheader_filename = "jsc/jsc.h", cname = "GCallback", instance_pos = 1.9)]
public delegate T ClassConstructorCb<T> (GLib.GenericArray<JSC.Value> values);
[CCode (cheader_filename = "jsc/jsc.h", has_target = false)]
public delegate bool ClassDeletePropertyFunction (JSC.Class jsc_class, JSC.Context context, void* instance, string name);
[CCode (array_length = false, array_null_terminated = true, cheader_filename = "jsc/jsc.h", has_target = false)]
public delegate string[]? ClassEnumeratePropertiesFunction (JSC.Class jsc_class, JSC.Context context, void* instance);
[CCode (cheader_filename = "jsc/jsc.h", cname = "GCallback", instance_pos = 1.9)]
public delegate T ClassGetPropertyCb<T> (JSC.Class instance);
[CCode (cheader_filename = "jsc/jsc.h", has_target = false)]
public delegate JSC.Value? ClassGetPropertyFunction (JSC.Class jsc_class, JSC.Context context, void* instance, string name);
[CCode (cheader_filename = "jsc/jsc.h", has_target = false)]
public delegate bool ClassHasPropertyFunction (JSC.Class jsc_class, JSC.Context context, void* instance, string name);
[CCode (cheader_filename = "jsc/jsc.h", cname = "GCallback", instance_pos = 2.9)]
public delegate T ClassMethodCb<T> (JSC.Class instance, GLib.GenericArray<JSC.Value> values);
[CCode (cheader_filename = "jsc/jsc.h", cname = "GCallback", instance_pos = 2.9)]
public delegate void ClassSetPropertyCb<T> (JSC.Class instance, T value);
[CCode (cheader_filename = "jsc/jsc.h", has_target = false)]
public delegate bool ClassSetPropertyFunction (JSC.Class jsc_class, JSC.Context context, void* instance, string name, JSC.Value value);
[CCode (cheader_filename = "jsc/jsc.h", instance_pos = 2.9)]
public delegate void ExceptionHandler (JSC.Context context, JSC.Exception exception);
[CCode (cheader_filename = "jsc/jsc.h", instance_pos = 3.9)]
[Version (since = "2.24")]
public delegate bool OptionsFunc (string option, JSC.OptionType type, string? description);
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_MAJOR_VERSION")]
public const int MAJOR_VERSION;
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_MICRO_VERSION")]
public const int MICRO_VERSION;
[CCode (cheader_filename = "jsc/jsc.h", cname = "JSC_MINOR_VERSION")]
public const int MINOR_VERSION;
[CCode (cheader_filename = "jsc/jsc.h")]
public static uint get_major_version ();
[CCode (cheader_filename = "jsc/jsc.h")]
public static uint get_micro_version ();
[CCode (cheader_filename = "jsc/jsc.h")]
public static uint get_minor_version ();
}
|