v8
10.1.124 (node 18.2.0)
V8 is Google's open source JavaScript engine
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Functions
a
c
d
e
f
g
i
j
m
n
o
p
r
s
t
u
v
Variables
d
f
g
i
k
m
t
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
c
e
g
i
j
k
l
m
n
p
r
s
t
w
Enumerator
a
b
c
d
e
g
i
j
k
n
o
p
r
s
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
i
m
n
p
r
s
t
u
w
Enumerations
a
b
c
d
e
f
g
m
n
o
p
s
t
u
v
w
Enumerator
b
c
d
e
h
j
k
n
o
p
r
s
t
u
w
Related Functions
:
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Files
File List
Globals
All
a
c
d
m
p
s
t
v
Macros
a
c
d
m
p
s
t
v
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
v8-extension.h
Go to the documentation of this file.
1
// Copyright 2021 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#
ifndef
INCLUDE_V8_EXTENSION_H_
6
#
define
INCLUDE_V8_EXTENSION_H_
7
8
#
include
<
memory
>
9
10
#
include
"v8-local-handle.h"
// NOLINT(build/include_directory)
11
#
include
"v8-primitive.h"
// NOLINT(build/include_directory)
12
#
include
"v8config.h"
// NOLINT(build/include_directory)
13
14
namespace
v8
{
15
16
class
FunctionTemplate
;
17
18
// --- Extensions ---
19
20
/**
21
* Ignore
22
*/
23
class
V8_EXPORT
Extension
{
24
public
:
25
// Note that the strings passed into this constructor must live as long
26
// as the Extension itself.
27
Extension
(
const
char
* name,
const
char
* source =
nullptr
,
int
dep_count = 0,
28
const
char
** deps =
nullptr
,
int
source_length = -1);
29
virtual
~
Extension
() {
delete
source_; }
30
virtual
Local
<
FunctionTemplate
>
GetNativeFunctionTemplate
(
31
Isolate
* isolate,
Local
<
String
> name) {
32
return
Local
<
FunctionTemplate
>
(
)
;
33
}
34
35
const
char
*
name
()
const
{
return
name_; }
36
size_t
source_length
()
const
{
return
source_length_; }
37
const
String
::
ExternalOneByteStringResource
*
source
()
const
{
38
return
source_;
39
}
40
int
dependency_count
()
const
{
return
dep_count_; }
41
const
char
**
dependencies
()
const
{
return
deps_; }
42
void
set_auto_enable
(
bool
value) { auto_enable_ = value; }
43
bool
auto_enable
() {
return
auto_enable_; }
44
45
// Disallow copying and assigning.
46
Extension
(
const
Extension
&) =
delete
;
47
void
operator
=(
const
Extension
&) =
delete
;
48
49
private
:
50
const
char
* name_;
51
size_t source_length_;
// expected to initialize before source_
52
String
::
ExternalOneByteStringResource
* source_;
53
int
dep_count_;
54
const
char
** deps_;
55
bool
auto_enable_;
56
};
57
58
void
V8_EXPORT
RegisterExtension
(std::unique_ptr<
Extension
>);
59
60
}
// namespace v8
61
62
#
endif
// INCLUDE_V8_EXTENSION_H_
include
v8-extension.h
Generated on Tue May 24 2022 19:28:58 for v8 by
1.9.1