-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathChakraCore.pas
116 lines (101 loc) · 3.13 KB
/
ChakraCore.pas
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
unit ChakraCore;
interface
uses ChakraCommon;
type
JsModuleRecord = System.Pointer;
JsParseModuleSourceFlags = (
JsParseModuleSourceFlags_DataIsUTF16LE = $00000000,
JsParseModuleSourceFlags_DataIsUTF8 = $00000001
);
JsModuleHostInfoKind = (
JsModuleHostInfo_Exception = $01,
JsModuleHostInfo_HostDefined = $02,
JsModuleHostInfo_NotifyModuleReadyCallback = $3,
JsModuleHostInfo_FetchImportedModuleCallback = $4
);
{
typedef JsErrorCode(CHAKRA_CALLBACK * FetchImportedModuleCallBack)(
_In_ JsModuleRecord referencingModule,
_In_ JsValueRef specifier,
_Outptr_result_maybenull_ JsModuleRecord* dependentModuleRecord
);
}
FetchImportedModuleCallBack = function(
referencingModule: System.Pointer; specifier: JsValueRef; var dependentModuleRecord: System.Pointer
): JsErrorCode; stdcall;
{
typedef JsErrorCode(CHAKRA_CALLBACK * NotifyModuleReadyCallback)(
_In_opt_ JsModuleRecord referencingModule,
_In_opt_ JsValueRef exceptionVar
);
}
NotifyModuleReadyCallback = function(
referencingModule: JsModuleRecord;
exceptionVar: JsValueRef
): JsErrorCode; stdcall;
{
CHAKRA_API
JsInitializeModuleRecord(
_In_opt_ JsModuleRecord referencingModule,
_In_ JsValueRef normalizedSpecifier,
_Outptr_result_maybenull_ JsModuleRecord* moduleRecord);
}
function JsInitializeModuleRecord(
referencingModule: JsModuleRecord;
normalizedSpecifier: JsValueRef;
var moduleRecord: JsModuleRecord
): JsErrorCode; stdcall; external DLL_NAME;
{
CHAKRA_API
JsParseModuleSource(
_In_ JsModuleRecord requestModule,
_In_ JsSourceContext sourceContext,
_In_ BYTE* script,
_In_ unsigned int scriptLength,
_In_ JsParseModuleSourceFlags sourceFlag,
_Outptr_result_maybenull_ JsValueRef* exceptionValueRef);
}
function JsParseModuleSource(
requestModule: JsModuleRecord;
sourceContext: JsSourceContext;
script: PByte;
scriptLength: uint;
sourceFlag: JsParseModuleSourceFlags;
var exceptionValueRef: JsValueRef
): JsErrorCode; stdcall; external DLL_NAME;
{
CHAKRA_API
JsModuleEvaluation(
_In_ JsModuleRecord requestModule,
_Outptr_result_maybenull_ JsValueRef* result);
}
function JsModuleEvaluation(
requestModule: JsModuleRecord;
var result: JsValueRef
): JsErrorCode; stdcall; external DLL_NAME;
{
CHAKRA_API
JsSetModuleHostInfo(
_In_ JsModuleRecord requestModule,
_In_ JsModuleHostInfoKind moduleHostInfo,
_In_ void* hostInfo);
}
function JsSetModuleHostInfo(
requestModule: JsModuleRecord;
moduleHostInfo: JsModuleHostInfoKind;
hostInfo: Pointer
): JsErrorCode; stdcall; external DLL_NAME;
{
CHAKRA_API
JsGetModuleHostInfo(
_In_ JsModuleRecord requestModule,
_In_ JsModuleHostInfoKind moduleHostInfo,
_Outptr_result_maybenull_ void** hostInfo);
}
function JsGetModuleHostInfo(
requestModule: JsModuleRecord;
moduleHostInfo: JsModuleHostInfoKind;
var hostInfo: Pointer
): JsErrorCode; stdcall; external DLL_NAME;
implementation
end.