[seed] seed-engine: expose API to initialize the importer.
- From: Mathieu Duponchelle <mathieudu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [seed] seed-engine: expose API to initialize the importer.
- Date: Fri, 16 Sep 2016 12:57:24 +0000 (UTC)
commit 82e6e9091ecdfaaca92499a6d8bbb8ec00eb49ec
Author: Mathieu Duponchelle <mathieu duponchelle opencreed com>
Date: Fri Sep 16 11:17:27 2016 +0200
seed-engine: expose API to initialize the importer.
https://bugzilla.gnome.org/show_bug.cgi?id=771520
libseed/seed-engine.c | 17 +++++++++++++++++
libseed/seed-private.h | 1 +
libseed/seed.h | 3 +++
3 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/libseed/seed-engine.c b/libseed/seed-engine.c
index 51c3577..e1ab54d 100644
--- a/libseed/seed-engine.c
+++ b/libseed/seed-engine.c
@@ -1837,6 +1837,7 @@ seed_init_constrained_with_context_and_group(gint* argc,
eng->group = context_group;
eng->search_path = NULL;
eng->program_name = NULL;
+ eng->importer_initialized = FALSE;
function_proto
= (JSObjectRef) seed_simple_evaluate(eng->context, "Function.prototype",
@@ -2022,6 +2023,22 @@ seed_init_constrained(gint* argc, gchar*** argv)
}
/*
+ * seed_engine_initialize_importer:
+ * @engine: A #SeedEngine created with seed_init_constrained() or
+ * seed_init_constrained_with_context_and_group().
+ *
+ * Initializes the importer for this engine, if it was not done before,
+ * otherwise silently returns.
+ */
+void
+seed_engine_initialize_importer(SeedEngine *engine)
+{
+ if (!engine->importer_initialized)
+ seed_initialize_importer(eng->context, eng->global);
+ engine->importer_initialized = TRUE;
+}
+
+/*
* seed_engine_expose_gobject:
* @engine:
* @name: The name of the global javascript variable pointing to @object
diff --git a/libseed/seed-private.h b/libseed/seed-private.h
index 880a6c6..de2d28c 100644
--- a/libseed/seed-private.h
+++ b/libseed/seed-private.h
@@ -42,6 +42,7 @@ struct _SeedEngine
JSContextGroupRef group;
gchar* program_name;
+ gboolean importer_initialized;
};
#include "seed-debug.h"
diff --git a/libseed/seed.h b/libseed/seed.h
index 4f204e8..09ac23c 100644
--- a/libseed/seed.h
+++ b/libseed/seed.h
@@ -67,6 +67,7 @@ typedef struct _SeedEngine
SeedContextGroup group;
gchar* program_name;
+ gboolean importer_initialized;
} SeedEngine;
/*
@@ -117,6 +118,8 @@ gchar* seed_exception_to_string(SeedContext ctx, SeedException exception);
SeedValue seed_evaluate(SeedContext ctx, SeedScript* s, SeedObject this_object);
+void seed_engine_initialize_importer(SeedEngine *engine);
+
SeedValue seed_engine_expose_gobject(SeedEngine* engine,
gchar* js_name,
GObject* object,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]