-
Notifications
You must be signed in to change notification settings - Fork 84
Expand file tree
/
Copy pathquickjs_callable.h
More file actions
32 lines (23 loc) · 1.08 KB
/
quickjs_callable.h
File metadata and controls
32 lines (23 loc) · 1.08 KB
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
#ifndef QUICKJS_CALLABLE_H
#define QUICKJS_CALLABLE_H
#include "core/variant/callable.h"
#include "../../javascript_callable.h"
#include "quickjs/quickjs.h"
#if !defined(JS_NAN_BOXING)
struct JSValue;
#endif
class QuickJSCallable : public JavaScriptCallable {
static bool compare_equal(const CallableCustom *p_a, const CallableCustom *p_b);
static bool compare_less(const CallableCustom *p_a, const CallableCustom *p_b);
public:
QuickJSCallable(JSContext *ctx, const JSValue &p_value);
QuickJSCallable(const JavaScriptGCHandler &p_function);
virtual ~QuickJSCallable();
virtual uint32_t hash() const override;
virtual String get_as_text() const override;
virtual CompareEqualFunc get_compare_equal_func() const override { return QuickJSCallable::compare_equal; }
virtual CompareLessFunc get_compare_less_func() const override { return QuickJSCallable::compare_less; }
virtual ObjectID get_object() const override;
virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override;
};
#endif // QUICKJS_CALLABLE_H