Пример #1
0
 public void InvokeWithArrayBufferOrViewData(Action <IntPtr> action)
 {
     using (var actionScope = V8ProxyHelpers.CreateAddRefHostObjectScope(action))
     {
         var pAction = actionScope.Value;
         V8SplitProxyNative.Invoke(instance => instance.V8Object_InvokeWithArrayBufferOrViewData(Handle, pAction));
     }
 }
 public V8IsolateProxyImpl(string name, V8RuntimeConstraints constraints, V8RuntimeFlags flags, int debugPort)
 {
     holder = new V8EntityHolder("V8 runtime", () => V8SplitProxyNative.Invoke(instance => instance.V8Isolate_Create(
                                                                                   name,
                                                                                   constraints?.MaxNewSpaceSize ?? -1,
                                                                                   constraints?.MaxOldSpaceSize ?? -1,
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableRemoteDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDynamicModuleImports),
                                                                                   debugPort
                                                                                   )));
 }
 public V8Context.Handle CreateContext(string name, V8ScriptEngineFlags flags, int debugPort)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Isolate_CreateContext(
                                          Handle,
                                          name,
                                          flags.HasFlag(V8ScriptEngineFlags.EnableDebugging),
                                          flags.HasFlag(V8ScriptEngineFlags.EnableRemoteDebugging),
                                          flags.HasFlag(V8ScriptEngineFlags.DisableGlobalMembers),
                                          flags.HasFlag(V8ScriptEngineFlags.EnableDateTimeConversion),
                                          flags.HasFlag(V8ScriptEngineFlags.EnableDynamicModuleImports),
                                          debugPort
                                          )));
 }
Пример #4
0
 public V8IsolateProxyImpl(string name, V8RuntimeConstraints constraints, V8RuntimeFlags flags, int debugPort)
 {
     holder = new V8EntityHolder("V8 runtime", () => V8SplitProxyNative.Invoke(instance => instance.V8Isolate_Create(
                                                                                   name,
                                                                                   constraints?.MaxNewSpaceSize ?? -1,
                                                                                   constraints?.MaxOldSpaceSize ?? -1,
                                                                                   constraints?.HeapExpansionMultiplier ?? 0,
                                                                                   constraints?.MaxArrayBufferAllocation ?? ulong.MaxValue,
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableRemoteDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDynamicModuleImports),
                                                                                   debugPort
                                                                                   )));
 }
Пример #5
0
        public V8ArrayBufferOrViewInfo GetArrayBufferOrViewInfo()
        {
            var kind = GetArrayBufferOrViewKind();

            if (kind != V8ArrayBufferOrViewKind.None)
            {
                IV8Object arrayBuffer = null;
                ulong     offset      = 0;
                ulong     size        = 0;
                ulong     length      = 0;
                V8SplitProxyNative.Invoke(instance => instance.V8Object_GetArrayBufferOrViewInfo(Handle, out arrayBuffer, out offset, out size, out length));
                return(new V8ArrayBufferOrViewInfo(kind, arrayBuffer, offset, size, length));
            }

            return(null);
        }
Пример #6
0
 public object InvokeMethod(string name, object[] args)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_InvokeMethod(Handle, name, args)));
 }
Пример #7
0
 public object Invoke(bool asConstructor, object[] args)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_Invoke(Handle, asConstructor, args)));
 }
Пример #8
0
 public int[] GetPropertyIndices()
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_GetPropertyIndices(Handle)));
 }
Пример #9
0
 public bool DeleteProperty(int index)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_DeleteIndexedProperty(Handle, index)));
 }
Пример #10
0
 public void SetProperty(int index, object value)
 {
     V8SplitProxyNative.Invoke(instance => instance.V8Object_SetIndexedProperty(Handle, index, value));
 }
Пример #11
0
 public object GetProperty(int index)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_GetIndexedProperty(Handle, index)));
 }
Пример #12
0
 public string[] GetPropertyNames()
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_GetPropertyNames(Handle)));
 }
Пример #13
0
 public bool DeleteProperty(string name)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_DeleteNamedProperty(Handle, name)));
 }
Пример #14
0
 public void SetProperty(string name, object value)
 {
     V8SplitProxyNative.Invoke(instance => instance.V8Object_SetNamedProperty(Handle, name, value));
 }
Пример #15
0
 public object GetProperty(string name)
 {
     return(V8SplitProxyNative.Invoke(instance => instance.V8Object_GetNamedProperty(Handle, name)));
 }