[seed] Implement the rest of the DBus Bus class
- From: Robert Carr <racarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] Implement the rest of the DBus Bus class
- Date: Sat, 9 May 2009 21:23:08 -0400 (EDT)
commit d0dcc4006346d40f909c6e735afe1f83a1b5ce27
Author: Robert Carr <racarr svn gnome org>
Date: Sat May 9 21:23:00 2009 -0400
Implement the rest of the DBus Bus class
---
modules/dbus/module.c | 46 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/modules/dbus/module.c b/modules/dbus/module.c
index b0bef3c..b3a1d93 100644
--- a/modules/dbus/module.c
+++ b/modules/dbus/module.c
@@ -10,6 +10,7 @@ SeedContextGroup group;
SeedObject namespace_ref;
SeedClass dbus_namespace_class;
+SeedClass dbus_bus_class;
static gboolean session_bus_weakref_added = FALSE;
static DBusConnection *session_bus = NULL;
@@ -1331,6 +1332,25 @@ seed_js_dbus_signature_length (SeedContext ctx,
return seed_value_from_int (ctx, length, exception);
}
+seed_static_value bus_values[] = {
+ {"unique_name", unique_name_getter, 0, 0},
+ {0,0,0, 0}
+};
+
+seed_static_function bus_funcs[] = {
+ {"call", seed_js_dbus_call, 0},
+ {"call_async", seed_js_dbus_call_async, 0},
+ {"acquire_name", seed_js_dbus_acquire_name, 0},
+ {"release_name_by_id", seed_js_dbus_release_name_by_id, 0},
+ {"watch_name", seed_js_dbus_watch_name, 0},
+ {"watch_signal", seed_js_dbus_watch_signal, 0},
+ {"unwatch_signal_by_id", seed_js_dbus_unwatch_signal_by_id, 0},
+ {"unwatch_signal", seed_js_dbus_unwatch_signal, 0},
+ {"emit_signal", seed_js_dbus_emit_signal, 0},
+ {"start_service", seed_js_dbus_start_service, 0},
+ {0, 0, 0}
+};
+
seed_static_function dbus_funcs[] = {
{"signatureLength", seed_js_dbus_signature_length, 0}
,
@@ -1344,17 +1364,33 @@ seed_static_value dbus_values[] = {
};
static void
+define_bus_object (SeedContext ctx,
+ DBusBusType which_bus)
+{
+ SeedObject bus_obj;
+ const gchar *bus_name;
+
+ bus_name = BIG_DBUS_NAME_FROM_TYPE(which_bus);
+ bus_obj = seed_make_object (ctx, dbus_bus_class, NULL);
+ seed_object_set_property (ctx, bus_obj, "_dbusBusType",
+ seed_value_from_int (ctx, which_bus, NULL));
+ //TODO: Define exports
+ seed_object_set_property (ctx, namespace_ref, bus_name, bus_obj);
+}
+
+ /*static void
seed_define_bus_proto (SeedContext ctx)
{
bus_proto = seed_make_object (ctx, NULL, NULL);
seed_value_protect (ctx, bus_proto);
-}
+ }*/
SeedObject
seed_module_init (SeedEngine * eng)
{
seed_class_definition dbus_namespace_class_def = seed_empty_class;
+ seed_class_definition dbus_bus_class_def = seed_empty_class;
ctx = eng->context;
group = eng->group;
@@ -1362,8 +1398,13 @@ seed_module_init (SeedEngine * eng)
dbus_namespace_class_def.class_name = "dbusnative";
dbus_namespace_class_def.static_functions = dbus_funcs;
dbus_namespace_class_def.static_values = dbus_values;
+
+ dbus_bus_class_def.class_name = "dbusbus";
+ dbus_bus_class_def.static_functions = bus_funcs;
+ dbus_bus_class_def.static_values = bus_values;
dbus_namespace_class = seed_create_class (&dbus_namespace_class_def);
+ dbus_bus_class = seed_create_class (&dbus_bus_class_def);
namespace_ref = seed_make_object (eng->context, dbus_namespace_class, NULL);
@@ -1380,7 +1421,8 @@ seed_module_init (SeedEngine * eng)
(SeedFunctionCallback) seed_js_dbus_signature_length,
namespace_ref);
- seed_define_bus_proto (ctx);
+ define_bus_object (ctx, DBUS_BUS_SESSION);
+ define_bus_object (ctx, DBUS_BUS_SYSTEM);
return namespace_ref;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]