[seed] Add support for gjs signal connections



commit 08df6507d7702f39224253891f696e9d12f2f124
Author: Peter Rustler <peter rustler basyskom com>
Date:   Mon Dec 7 11:48:39 2015 +0000

    Add support for gjs signal connections
    
    In gjs signals will be connected with:
    Object.connect("signal-name", function)
    In seed it is:
    Object.signal.signal_name.connect(function) or
    Object.signal["signal-name"].connect(function)
    With this patch seed is also able to process gjs style
    signal connections.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759171

 libseed/seed-engine.c  |    3 +++
 libseed/seed-signals.c |    2 +-
 libseed/seed-signals.h |    7 +++++++
 3 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/libseed/seed-engine.c b/libseed/seed-engine.c
index 226ea64..117475b 100644
--- a/libseed/seed-engine.c
+++ b/libseed/seed-engine.c
@@ -25,6 +25,7 @@
 #include <stdarg.h>
 #include <string.h>
 #include <pthread.h>
+#include "seed-signals.h"
 
 #include "config.h"
 
@@ -1403,6 +1404,8 @@ JSStaticFunction gobject_static_funcs[] = {
   ,
   {"__property_type", seed_gobject_property_type, 0}
   ,
+  {"connect", seed_gobject_signal_connect_by_name, 0}
+  ,
   {0, 0, 0}
 };
 
diff --git a/libseed/seed-signals.c b/libseed/seed-signals.c
index f1bbddc..46beb92 100644
--- a/libseed/seed-signals.c
+++ b/libseed/seed-signals.c
@@ -80,7 +80,7 @@ seed_gobject_signal_connect (JSContextRef ctx,
   return g_signal_connect_closure (on_obj, signal_name, closure, FALSE);
 }
 
-static JSValueRef
+JSValueRef
 seed_gobject_signal_connect_by_name (JSContextRef ctx,
                                     JSObjectRef function,
                                     JSObjectRef thisObject,
diff --git a/libseed/seed-signals.h b/libseed/seed-signals.h
index ab7eaea..387aa88 100644
--- a/libseed/seed-signals.h
+++ b/libseed/seed-signals.h
@@ -39,6 +39,13 @@ gulong seed_gobject_signal_connect (JSContextRef ctx,
                                    JSObjectRef this_obj,
                                    JSObjectRef user_data);
 
+JSValueRef
+seed_gobject_signal_connect_by_name (JSContextRef ctx,
+                                    JSObjectRef function,
+                                    JSObjectRef thisObject,
+                                    size_t argumentCount,
+                                    const JSValueRef arguments[],
+                                    JSValueRef * exception);
 
 JSClassDefinition *seed_get_signal_class (void);
 extern JSClassRef gobject_signal_class;


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