Beispiel #1
0
        public static IntPtr JS_GetClassObject(IntPtr context, IntPtr proto)
        {
            var m = new MutableHandle();

            JS_GetClassObject(context, proto, ref m);
            return(m.Handle);
        }
Beispiel #2
0
        public static IntPtr JS_ValueToObject(IntPtr cx, JsVal v)
        {
            var mutableHandle = new MutableHandle();

            JS_ValueToObject(cx, ref v, ref mutableHandle);
            return(mutableHandle.Handle);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
		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;
			}
		}
Beispiel #5
0
		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;
		}
Beispiel #6
0
		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;
		}
Beispiel #7
0
		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;
		}
Beispiel #8
0
		private static extern bool JS_WrapObject_Linux64(IntPtr cx, ref MutableHandle p);
Beispiel #9
0
		private static extern bool JS_GetPendingException_Win32(IntPtr cx, ref MutableHandle handle);
Beispiel #10
0
 internal static extern bool JS_GetPendingException(IntPtr cx, ref MutableHandle handle);
Beispiel #11
0
 internal static extern IntPtr JS_GetClassObject(IntPtr context, IntPtr proto, ref MutableHandle jsObject);
Beispiel #12
0
 internal static extern bool JS_CompileUCScript(IntPtr cx, [MarshalAs(UnmanagedType.LPWStr)] string str, int strlen, IntPtr compileOptions,
                                                ref MutableHandle jsValue);
Beispiel #13
0
        public static IntPtr JS_WrapObject(IntPtr cx, IntPtr jsObject)
        {
            var mh = new MutableHandle(jsObject);

            return(JS_WrapObject(cx, ref mh) ? mh.Handle : IntPtr.Zero);
        }
Beispiel #14
0
        public static IntPtr JS_GetPendingException(IntPtr cx)
        {
            var mutableHandle = new MutableHandle();

            return(JS_GetPendingException(cx, ref mutableHandle) ? mutableHandle.Handle : IntPtr.Zero);
        }
Beispiel #15
0
		private static extern IntPtr JS_GetClassObject_Win32(IntPtr context, IntPtr proto, ref MutableHandle jsObject);		
Beispiel #16
0
		private static extern bool JS_WrapObject_Win32(IntPtr cx, ref MutableHandle p);
Beispiel #17
0
 internal static extern bool JS_ValueToObject(IntPtr cx, ref JsVal jsValue, ref MutableHandle jsObject);
Beispiel #18
0
		// 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);
Beispiel #19
0
 internal static extern bool JS_WrapObject(IntPtr cx, ref MutableHandle p);