public static IntPtr JS_GetClassObject(IntPtr context, IntPtr proto) { var m = new MutableHandle(); JS_GetClassObject(context, proto, ref m); return(m.Handle); }
public static IntPtr JS_ValueToObject(IntPtr cx, JsVal v) { var mutableHandle = new MutableHandle(); JS_ValueToObject(cx, ref v, ref mutableHandle); return(mutableHandle.Handle); }
public static bool JS_ExecuteScript(IntPtr cx, string script, out JsVal jsval) { jsval = default(JsVal); var scriptHandle = new MutableHandle(); if (!JS_CompileUCScript(cx, script, script.Length, GetCompileOptions(cx), ref scriptHandle)) { throw new GeckoException("Failed to compile script."); } var val = new MutableHandleValue(); var handle = scriptHandle.Handle; if (!JS_ExecuteScript(cx, ref handle, ref val)) { return(false); } jsval = JsVal.FromPtr(val.Handle); return(true); }
public static IntPtr JS_ValueToObject(IntPtr cx, JsVal v) { if (Xpcom.Is32Bit) { MutableHandle mutableHandle = new MutableHandle(); if (Xpcom.IsLinux) JS_ValueToObject_Linux32(cx, ref v, ref mutableHandle); else JS_ValueToObject_Win32(cx, ref v, ref mutableHandle); return mutableHandle.Handle; } else { MutableHandle mutableHandle = new MutableHandle(); if (Xpcom.IsLinux) JS_ValueToObject_Linux64(cx, ref v, ref mutableHandle); else JS_ValueToObject_Win64(cx, ref v, ref mutableHandle); return mutableHandle.Handle; } }
public static IntPtr JS_GetPendingException(IntPtr cx) { MutableHandle mutableHandle = new MutableHandle(); bool success = false; if (Xpcom.Is32Bit) { if (Xpcom.IsLinux) success = JS_GetPendingException_Linux32(cx, ref mutableHandle); else success = JS_GetPendingException_Win32(cx, ref mutableHandle); } else { if (Xpcom.IsLinux) success = JS_GetPendingException_Linux64(cx, ref mutableHandle); else throw new NotImplementedException(); } return success ? mutableHandle.Handle : IntPtr.Zero; }
public static IntPtr JS_WrapObject(IntPtr cx, IntPtr jsObject) { MutableHandle mh = new MutableHandle(jsObject); bool success = false; if (Xpcom.Is32Bit) { if (Xpcom.IsLinux) success = JS_WrapObject_Linux32(cx, ref mh); else success = JS_WrapObject_Win32(cx, ref mh); } else { if (Xpcom.IsLinux) success = JS_WrapObject_Linux64(cx, ref mh); else throw new NotImplementedException(); } return success ? mh.Handle : IntPtr.Zero; }
public static IntPtr JS_GetClassObject(IntPtr context, IntPtr proto) { var m = new MutableHandle(); if (Xpcom.Is32Bit) { if (Xpcom.IsLinux) JS_GetClassObject_Linux32(context, proto, ref m); else JS_GetClassObject_Win32(context, proto, ref m); } else { if (Xpcom.IsLinux) JS_GetClassObject_Linux64(context, proto, ref m); else return IntPtr.Zero; // Not implemented } return m.Handle; }
private static extern bool JS_WrapObject_Linux64(IntPtr cx, ref MutableHandle p);
private static extern bool JS_GetPendingException_Win32(IntPtr cx, ref MutableHandle handle);
internal static extern bool JS_GetPendingException(IntPtr cx, ref MutableHandle handle);
internal static extern IntPtr JS_GetClassObject(IntPtr context, IntPtr proto, ref MutableHandle jsObject);
internal static extern bool JS_CompileUCScript(IntPtr cx, [MarshalAs(UnmanagedType.LPWStr)] string str, int strlen, IntPtr compileOptions, ref MutableHandle jsValue);
public static IntPtr JS_WrapObject(IntPtr cx, IntPtr jsObject) { var mh = new MutableHandle(jsObject); return(JS_WrapObject(cx, ref mh) ? mh.Handle : IntPtr.Zero); }
public static IntPtr JS_GetPendingException(IntPtr cx) { var mutableHandle = new MutableHandle(); return(JS_GetPendingException(cx, ref mutableHandle) ? mutableHandle.Handle : IntPtr.Zero); }
private static extern IntPtr JS_GetClassObject_Win32(IntPtr context, IntPtr proto, ref MutableHandle jsObject);
private static extern bool JS_WrapObject_Win32(IntPtr cx, ref MutableHandle p);
internal static extern bool JS_ValueToObject(IntPtr cx, ref JsVal jsValue, ref MutableHandle jsObject);
// JS_ValueToObject(JSContext *cx, JS::HandleValue v, JS::MutableHandleObject objp); private static extern bool JS_ValueToObject_Win64(IntPtr cx, ref JsVal jsValue, ref MutableHandle jsObject);
internal static extern bool JS_WrapObject(IntPtr cx, ref MutableHandle p);