[gjs] Add gjs_context_get_native_context which allows access to the JSContext



commit bcbe62340bb30d755c66479e0a3c0a7103b59aa4
Author: James Willcox <jwillcox litl com>
Date:   Fri Jan 29 10:04:21 2010 -0500

    Add gjs_context_get_native_context which allows access to the JSContext
    
    Also remove gjs_context_get_context() since it is obsoleted
    
    https://bugzilla.gnome.org/show_bug.cgi?id=604075

 gjs/context-jsapi.h |    1 -
 gjs/context.c       |   11 +++++++++--
 gjs/context.h       |    1 +
 gjs/jsapi-util.c    |    8 ++++----
 gjs/stack.c         |    2 +-
 5 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/gjs/context-jsapi.h b/gjs/context-jsapi.h
index 553cb76..f9f1a19 100644
--- a/gjs/context-jsapi.h
+++ b/gjs/context-jsapi.h
@@ -29,7 +29,6 @@
 
 G_BEGIN_DECLS
 
-JSContext*    gjs_context_get_context     (GjsContext *js_context);
 gboolean      gjs_context_is_load_context (GjsContext *js_context);
 
 
diff --git a/gjs/context.c b/gjs/context.c
index 8da8765..ded5b8d 100644
--- a/gjs/context.c
+++ b/gjs/context.c
@@ -743,9 +743,16 @@ gjs_context_get_all(void)
   return result;
 }
 
-JSContext*
-gjs_context_get_context(GjsContext *js_context)
+/**
+ * gjs_context_get_native_context:
+ *
+ * Returns a pointer to the underlying native context.  For SpiderMonkey, this
+ * is a JSContext *
+ */
+void*
+gjs_context_get_native_context (GjsContext *js_context)
 {
+    g_return_val_if_fail(GJS_IS_CONTEXT(js_context), NULL);
     return js_context->context;
 }
 
diff --git a/gjs/context.h b/gjs/context.h
index a5b518c..eba36e3 100644
--- a/gjs/context.h
+++ b/gjs/context.h
@@ -63,6 +63,7 @@ gboolean        gjs_context_define_string_array  (GjsContext  *js_context,
                                                   GError       **error);
 
 GList*          gjs_context_get_all              (void);
+void*           gjs_context_get_native_context   (GjsContext *js_context);
 
 void            gjs_context_print_stack_to_buffer (GjsContext *js_context,
                                                    GString    *buf);
diff --git a/gjs/jsapi-util.c b/gjs/jsapi-util.c
index 9b58d90..0240a7f 100644
--- a/gjs/jsapi-util.c
+++ b/gjs/jsapi-util.c
@@ -88,7 +88,7 @@ gjs_runtime_get_load_context(JSRuntime *runtime)
                                 g_object_unref);
     }
 
-    return gjs_context_get_context(context);
+    return (JSContext*)gjs_context_get_native_context(context);
 }
 
 JSContext*
@@ -100,7 +100,7 @@ gjs_runtime_peek_load_context(JSRuntime *runtime)
     if (context == NULL) {
         return NULL;
     } else {
-        return gjs_context_get_context(context);
+        return (JSContext*)gjs_context_get_native_context(context);
     }
 }
 
@@ -144,7 +144,7 @@ gjs_runtime_get_call_context(JSRuntime *runtime)
                                 g_object_unref);
     }
 
-    return gjs_context_get_context(context);
+    return (JSContext*)gjs_context_get_native_context(context);
 }
 
 static JSContext*
@@ -156,7 +156,7 @@ gjs_runtime_peek_call_context(JSRuntime *runtime)
     if (context == NULL) {
         return NULL;
     } else {
-        return gjs_context_get_context(context);
+        return (JSContext*)gjs_context_get_native_context(context);
     }
 }
 
diff --git a/gjs/stack.c b/gjs/stack.c
index 611c4af..cfdd6c7 100644
--- a/gjs/stack.c
+++ b/gjs/stack.c
@@ -188,7 +188,7 @@ format_frame(JSContext* cx, JSStackFrame* fp,
 void
 gjs_context_print_stack_to_buffer(GjsContext* context, GString *buf)
 {
-    JSContext *js_context = gjs_context_get_context(context);
+    JSContext *js_context = (JSContext*)gjs_context_get_native_context(context);
     JSStackFrame* fp;
     JSStackFrame* iter = NULL;
     int num = 0;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]