[seed] Add support for gjs signal connections
- From: Alan Knowles <alank src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [seed] Add support for gjs signal connections
- Date: Wed, 9 Dec 2015 03:10:13 +0000 (UTC)
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]