[seed] Finish port of dbus-values.c...
- From: Robert Carr <racarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] Finish port of dbus-values.c...
- Date: Sat, 9 May 2009 01:19:22 -0400 (EDT)
commit d07f1d33914c0686a691de0d37279ddc8c8bda09
Author: Robert Carr <racarr svn gnome org>
Date: Sat May 9 01:18:40 2009 -0400
Finish port of dbus-values.c...
---
libseed/seed-api.c | 9 ++
libseed/seed.h | 7 +-
modules/dbus/Makefile.am | 3 +-
modules/dbus/dbus-values.c | 291 ++++++++++++++++++++------------------------
modules/dbus/dbus-values.h | 40 ++++++
5 files changed, 189 insertions(+), 161 deletions(-)
diff --git a/libseed/seed-api.c b/libseed/seed-api.c
index f916e89..688f1d2 100644
--- a/libseed/seed-api.c
+++ b/libseed/seed-api.c
@@ -150,6 +150,15 @@ seed_object_set_property_at_index (JSContextRef ctx,
JSObjectSetPropertyAtIndex (ctx, object, index, value, exception);
}
+JSValueRef
+seed_object_get_property_at_index (JSContextRef ctx,
+ JSObjectRef object,
+ gint index,
+ JSValueRef * exception)
+{
+ return JSObjectGetPropertyAtIndex (ctx, object, index, exception);
+}
+
/**
* seed_object_call
* @ctx: A #SeedContext.
diff --git a/libseed/seed.h b/libseed/seed.h
index 5ab15b9..9831fd6 100644
--- a/libseed/seed.h
+++ b/libseed/seed.h
@@ -151,6 +151,11 @@ void seed_object_set_property_at_index (SeedContext ctx,
SeedValue value,
SeedException * exception);
+SeedValue seed_object_get_property_at_index (SeedContext ctx,
+ SeedObject object,
+ gint index,
+ SeedException *exception);
+
gboolean seed_value_to_boolean (SeedContext ctx,
SeedValue val, SeedException * exception);
@@ -375,7 +380,7 @@ void seed_importer_set_search_path (SeedContext ctx,
void seed_prepare_global_context (SeedContext ctx);
-SeedType seed_value_get_type (SeedContext ctx, SeedType type);
+SeedType seed_value_get_type (SeedContext ctx, SeedValue type);
gchar **seed_object_copy_property_names(SeedContext ctx, SeedObject object);
diff --git a/modules/dbus/Makefile.am b/modules/dbus/Makefile.am
index 6402a5f..8a296a1 100644
--- a/modules/dbus/Makefile.am
+++ b/modules/dbus/Makefile.am
@@ -9,7 +9,8 @@ libdbusnative_la_SOURCES = \
module.c \
util/dbus.c \
util/dbus-proxy.c \
- util/dbus-signals.c
+ util/dbus-signals.c \
+ dbus-values.c
libdbusnative_la_CFLAGS = \
diff --git a/modules/dbus/dbus-values.c b/modules/dbus/dbus-values.c
index 6d14513..54fba92 100644
--- a/modules/dbus/dbus-values.c
+++ b/modules/dbus/dbus-values.c
@@ -18,7 +18,7 @@ seed_js_one_value_from_dbus (SeedContext ctx,
{
int arg_type;
- *value_p = seed_make_unefined (ctx);
+ *value_p = seed_make_undefined (ctx);
arg_type = dbus_message_iter_get_arg_type (iter);
@@ -46,7 +46,7 @@ seed_js_one_value_from_dbus (SeedContext ctx,
prop_value = seed_make_undefined (ctx);
if (!seed_js_one_value_from_dbus
- (context, &struct_iter, &prop_value, exception))
+ (ctx, &struct_iter, &prop_value, exception))
{
return FALSE;
}
@@ -84,11 +84,11 @@ seed_js_one_value_from_dbus (SeedContext ctx,
if (dbus_message_iter_get_arg_type (&entry_iter) !=
DBUS_TYPE_STRING)
{
- seed_make_exception (ctx,
+ seed_make_exception (ctx, exception, "ArgumentError",
"Dictionary keys are not strings,"
- "can't convert to JavaScript",
- exception);
- return FALSE;
+ "can't convert to JavaScript");
+
+ return FALSE;
}
dbus_message_iter_get_basic (&entry_iter, &key);
@@ -146,14 +146,13 @@ seed_js_one_value_from_dbus (SeedContext ctx,
prop_value = seed_make_undefined (ctx);
if (!seed_js_one_value_from_dbus
- (context, &array_iter, &prop_value, exception))
+ (ctx, &array_iter, &prop_value, exception))
{
return FALSE;
}
seed_object_set_property_at_index (ctx, obj, index, prop_value, exception);
- JS_RemoveRoot (context, &prop_value);
dbus_message_iter_next (&array_iter);
index++;
}
@@ -213,7 +212,7 @@ seed_js_one_value_from_dbus (SeedContext ctx,
case DBUS_TYPE_OBJECT_PATH:
case DBUS_TYPE_STRING:
{
- const char *v_STRING;
+ char *v_STRING;
dbus_message_iter_get_basic (iter, &v_STRING);
@@ -227,7 +226,7 @@ seed_js_one_value_from_dbus (SeedContext ctx,
dbus_message_iter_recurse (iter, &variant_iter);
- return seed_js_one_value_from_dbus (context, &variant_iter, value_p, exception);
+ return seed_js_one_value_from_dbus (ctx, &variant_iter, value_p, exception);
}
break;
@@ -239,7 +238,7 @@ seed_js_one_value_from_dbus (SeedContext ctx,
big_debug (BIG_DEBUG_JS_DBUS,
"Don't know how to convert dbus type %c to JavaScript",
arg_type);
- gjs_throw (context,
+ gjs_throw (ctx,
"Don't know how to convert dbus type %c to JavaScript",
arg_type);*/
return FALSE;
@@ -266,7 +265,7 @@ seed_js_values_from_dbus (SeedContext ctx,
// Wheee.
do
{
- if (!seed_js_one_value_from_dbus (context, iter, &value))
+ if (!seed_js_one_value_from_dbus (ctx, iter, &value, exception))
{
g_array_free (array, TRUE);
return FALSE;
@@ -368,14 +367,14 @@ append_string (SeedContext ctx,
}
else
{
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"JavaScript string can't be converted to dbus array with elements of type '%c'",
forced_signature[1]);
return FALSE;
}
break;
default:
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"JavaScript string can't be converted to dbus type '%c'",
forced_type);
return FALSE;
@@ -421,9 +420,9 @@ append_int32 (SeedContext ctx,
}
break;
default:
- seed_make_exception_exception (ctx, exception,
- "JavaScript Integer can't be converted to dbus type '%c'",
- forced_type);
+ seed_make_exception (ctx, exception, "ArgumentError",
+ "JavaScript Integer can't be converted to dbus type '%c'",
+ forced_type);
return FALSE;
}
@@ -459,7 +458,7 @@ append_double (SeedContext ctx,
}
break;
default:
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"JavaScript Number can't be converted to dbus type '%c'",
forced_type);
return FALSE;
@@ -487,7 +486,7 @@ append_boolean (SeedContext ctx,
TRUE);
break;
default:
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"JavaScript Boolean can't be converted to dbus type '%c'",
forced_type);
return FALSE;
@@ -520,8 +519,8 @@ append_array (SeedContext ctx,
dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT,
"av", &variant_iter);
dbus_signature_iter_init (&variant_sig_iter, "av");
- if (!append_array (context, &variant_iter,
- &variant_sig_iter, array, length))
+ if (!append_array (ctx, &variant_iter,
+ &variant_sig_iter, array, length, exception))
return FALSE;
dbus_message_iter_close_container (iter, &variant_iter);
@@ -529,9 +528,9 @@ append_array (SeedContext ctx,
}
else if (forced_type != DBUS_TYPE_ARRAY)
{
- seed_make_exception (ctx, exception,
- "JavaScript Array can't be converted to dbus type %c",
- forced_type);
+ seed_make_exception (ctx, exception, "ArgumentError",
+ "JavaScript Array can't be converted to dbus type %c",
+ forced_type);
return FALSE;
}
@@ -546,12 +545,12 @@ append_array (SeedContext ctx,
for (i = 0; i < length; i++)
{
element = seed_object_get_property_at_index (ctx, array, i, exception);
-
+
// big_debug_marshal (BIG_DEBUG_JS_DBUS, " Adding array element %u", i);
-
- if (!seed_js_one_value_to_dbus (context, element, &array_iter,
- &element_sig_iter))
- return FALSE;
+
+ if (!seed_js_one_value_to_dbus (ctx, element, &array_iter,
+ &element_sig_iter, exception))
+ return FALSE;
}
dbus_message_iter_close_container (iter, &array_iter);
@@ -569,7 +568,8 @@ append_dict (SeedContext ctx,
DBusSignatureIter element_sig_iter;
int forced_type;
DBusMessageIter variant_iter;
- SeedObject props_iter;
+ gchar **prop_names;
+ guint num_props, i;
DBusMessageIter dict_iter;
DBusSignatureIter dict_value_sig_iter;
char *sig;
@@ -584,7 +584,7 @@ append_dict (SeedContext ctx,
dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT,
"a{sv}", &variant_iter);
dbus_signature_iter_init (&variant_sig_iter, "a{sv}");
- if (!append_dict (context, &variant_iter, &variant_sig_iter, props))
+ if (!append_dict (ctx, &variant_iter, &variant_sig_iter, props, exception))
return FALSE;
dbus_message_iter_close_container (iter, &variant_iter);
@@ -592,7 +592,7 @@ append_dict (SeedContext ctx,
}
else if (forced_type != DBUS_TYPE_ARRAY)
{
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"JavaScript Object can't be converted to dbus type %c",
forced_type);
return FALSE;
@@ -605,7 +605,7 @@ append_dict (SeedContext ctx,
if (dbus_signature_iter_get_current_type (&element_sig_iter) !=
DBUS_TYPE_DICT_ENTRY)
{
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"Objects must be marshaled as array of dict entry not of %c",
dbus_signature_iter_get_current_type (&element_sig_iter));
return FALSE;
@@ -642,7 +642,7 @@ append_dict (SeedContext ctx,
if (!seed_value_is_undefined (ctx, prop_signatures) && !seed_value_is_object (ctx, prop_signatures))
{
- seed_make_exception (ctx, exception, "_dbus_signatures prop must be an object");
+ seed_make_exception (ctx, exception, "ArgumentError", "_dbus_signatures prop must be an object");
return FALSE;
}
@@ -650,36 +650,22 @@ append_dict (SeedContext ctx,
dbus_signature_iter_get_current_type (&dict_value_sig_iter) !=
DBUS_TYPE_VARIANT)
{
- seed_make_exception (ctx, exception,
+ seed_make_exception (ctx, exception, "ArgumentError",
"Specifying _dbus_signatures for a dictionary with non-variant values is useless");
return FALSE;
}
+
+ prop_names = seed_object_copy_property_names (ctx, props);
+ num_props = g_strv_length (prop_names);
- props_iter = JS_NewPropertyIterator (context, props);
- if (props_iter == NULL)
- {
- gjs_throw (context,
- "Failed to create property iterator for object props");
- return FALSE;
- }
-
- prop_id = JSVAL_VOID;
- if (!JS_NextProperty (context, props_iter, &prop_id))
- return FALSE;
-
- while (prop_id != JSVAL_VOID)
+ for (i = 0; i < num_props; i++)
{
- SeedValue nameval;
char *name;
SeedValue propval;
DBusMessageIter entry_iter;
const char *value_signature;
- if (!JS_IdToValue (context, prop_id, &nameval))
- return FALSE;
-
- if (!gjs_string_to_utf8 (context, nameval, &name))
- return FALSE;
+ name = prop_names[i];
if (strcmp (name, "_dbus_signatures") == 0)
{
@@ -689,17 +675,14 @@ append_dict (SeedContext ctx,
/* see if this prop has a forced signature */
value_signature = NULL;
- if (prop_signatures != JSVAL_VOID)
+ if (!seed_value_is_undefined (ctx, prop_signatures))
{
SeedValue signature_value;
- signature_value = JSVAL_VOID;
- gjs_object_get_property (context,
- JSVAL_TO_OBJECT (prop_signatures),
- name, &signature_value);
- if (signature_value != JSVAL_VOID)
+
+ signature_value = seed_object_get_property (ctx, prop_signatures, name);
+ if (!JSValueIsNull (ctx, signature_value))
{
- value_signature = gjs_string_get_ascii_checked (context,
- signature_value);
+ value_signature = seed_value_to_string (ctx, signature_value, exception);
if (value_signature == NULL)
{
return FALSE;
@@ -707,20 +690,21 @@ append_dict (SeedContext ctx,
}
}
- if (!gjs_object_require_property
- (context, props, "DBus append_dict", name, &propval))
- return FALSE;
+ // if (!gjs_object_require_property
+ // (ctx, props, "DBus append_dict", name, &propval))
+ //return FALSE;
+ propval = seed_object_get_property (ctx, props, name);
- big_debug_marshal (BIG_DEBUG_JS_DBUS, " Adding property %s", name);
+ // big_debug_marshal (BIG_DEBUG_JS_DBUS, " Adding property %s", name);
/* seed_js_one_value_to_dbus() would check this also, but would not
* print the property name, which is often useful
*/
- if (JSVAL_IS_NULL (propval))
+ if (seed_value_is_null (ctx, propval))
{
- gjs_throw (context,
- "Property '%s' has a null value, can't send over dbus",
- name);
+ seed_make_exception (ctx, exception, "ArgumentError",
+ "Property '%s' has a null value, can't send over dbus",
+ name);
return FALSE;
}
@@ -744,26 +728,25 @@ append_dict (SeedContext ctx,
dbus_signature_iter_init (&forced_signature_iter, value_signature);
- if (!seed_js_one_value_to_dbus (context, propval, &variant_iter,
- &forced_signature_iter))
+ if (!seed_js_one_value_to_dbus (ctx, propval, &variant_iter,
+ &forced_signature_iter, exception))
return FALSE;
dbus_message_iter_close_container (&entry_iter, &variant_iter);
}
else
{
- if (!seed_js_one_value_to_dbus (context, propval, &entry_iter,
- &dict_value_sig_iter))
+ if (!seed_js_one_value_to_dbus (ctx, propval, &entry_iter,
+ &dict_value_sig_iter, exception))
return FALSE;
}
dbus_message_iter_close_container (&dict_iter, &entry_iter);
-
+
next:
- prop_id = JSVAL_VOID;
- if (!JS_NextProperty (context, props_iter, &prop_id))
- return FALSE;
+ continue;
}
+ g_strfreev (prop_names);
dbus_message_iter_close_container (iter, &dict_iter);
@@ -774,27 +757,30 @@ gboolean
seed_js_one_value_to_dbus (SeedContext ctx,
SeedValue value,
DBusMessageIter * iter,
- DBusSignatureIter * sig_iter)
+ DBusSignatureIter * sig_iter,
+ SeedException *exception)
{
+ SeedType type;
int forced_type;
forced_type = dbus_signature_iter_get_current_type (sig_iter);
- big_debug_marshal (BIG_DEBUG_JS_DBUS,
- "Converting dbus type '%c' from SeedValue",
- forced_type != DBUS_TYPE_INVALID ? forced_type : '0');
+ // big_debug_marshal (BIG_DEBUG_JS_DBUS,
+ // "Converting dbus type '%c' from SeedValue",
+ // forced_type != DBUS_TYPE_INVALID ? forced_type : '0');
/* Don't write anything on the bus if the signature is empty */
if (forced_type == DBUS_TYPE_INVALID)
return TRUE;
+
+ type = seed_value_get_type (ctx, value);
- if (SEEDVALUE_IS_NULL (value))
+ if (seed_value_is_null (ctx, value))
{
- big_debug (BIG_DEBUG_JS_DBUS, "Can't send null values over dbus");
- gjs_throw (context, "Can't send null values over dbus");
+ seed_make_exception (ctx, exception, "ArgumentError", "Can't send null values over dbus");
return FALSE;
}
- else if (SEEDVALUE_IS_STRING (value))
+ else if (type == SEED_TYPE_STRING)
{
char *data;
gsize len;
@@ -811,19 +797,21 @@ seed_js_one_value_to_dbus (SeedContext ctx,
data = NULL;
len = 0;
+ // FIX?
if (buf[1] == DBUS_TYPE_BYTE)
{
- if (!gjs_string_get_binary_data (context, value, &data, &len))
- return FALSE;
+ data = seed_value_to_string (ctx, value, exception);
+ len = strlen (data);
+ // if (!gjs_string_get_binary_data (ctx, value, &data, &len))
+ //return FALSE;
}
else
{
- if (!gjs_string_to_utf8 (context, value, &data))
- return FALSE;
+ data = seed_value_to_string (ctx, value, exception);
len = strlen (data);
}
- if (!append_string (context, iter, buf, data, len))
+ if (!append_string (ctx, iter, buf, data, len, exception))
{
g_free (data);
return FALSE;
@@ -831,76 +819,68 @@ seed_js_one_value_to_dbus (SeedContext ctx,
g_free (data);
}
- else if (SEEDVALUE_IS_INT (value))
+/* else if (type == SEED_TYPE_NUMBER)
{
dbus_int32_t v_INT32;
- if (!JS_ValueToInt32 (context, value, &v_INT32))
- return FALSE;
+ v_INT32 = seed_value_to_int (ctx, value, exception);
- if (!append_int32 (context, iter, forced_type, v_INT32))
+ if (!append_int32 (ctx, iter, forced_type, v_INT32, exception))
return FALSE;
- }
- else if (SEEDVALUE_IS_DOUBLE (value))
+ }*/
+ else if (type == SEED_TYPE_NUMBER)
{
double v_DOUBLE;
- if (!JS_ValueToNumber (context, value, &v_DOUBLE))
- return FALSE;
+ v_DOUBLE = seed_value_to_double (ctx, value, exception);
- if (!append_double (context, iter, forced_type, v_DOUBLE))
+ if (!append_double (ctx, iter, forced_type, v_DOUBLE, exception))
return FALSE;
}
- else if (SEEDVALUE_IS_BOOLEAN (value))
+ else if (type == SEED_TYPE_BOOLEAN)
{
- gboolean v_JS_BOOLEAN;
dbus_bool_t v_BOOLEAN;
- if (!JS_ValueToBoolean (context, value, &v_JS_BOOLEAN))
- return FALSE;
- v_BOOLEAN = v_JS_BOOLEAN != FALSE;
+ v_BOOLEAN = seed_value_to_boolean (ctx, value, exception);
- if (!append_boolean (context, iter, forced_type, v_BOOLEAN))
+ if (!append_boolean (ctx, iter, forced_type, v_BOOLEAN, exception))
return FALSE;
}
- else if (SEEDVALUE_IS_OBJECT (value))
+ else if (type == SEED_TYPE_OBJECT)
{
- JSObject *obj;
SeedValue lengthval;
- obj = SEEDVALUE_TO_OBJECT (value);
-
/* see if there's a length property */
- gjs_object_get_property (context, obj, "length", &lengthval);
+ lengthval = seed_object_get_property (ctx, value, "length");
- if (SEEDVALUE_IS_INT (lengthval))
+ if (seed_value_get_type (ctx, lengthval) == SEED_TYPE_NUMBER)
{
guint length;
- length = SEEDVALUE_TO_INT (lengthval);
+ length = seed_value_to_int (ctx, lengthval, exception);
- big_debug_marshal (BIG_DEBUG_JS_DBUS,
- "Looks like an array length %u", length);
- if (!append_array (context, iter, sig_iter, obj, length))
+ // big_debug_marshal (BIG_DEBUG_JS_DBUS,
+ // "Looks like an array length %u", length);
+ if (!append_array (ctx, iter, sig_iter, value, length, exception))
return FALSE;
}
else
{
- big_debug_marshal (BIG_DEBUG_JS_DBUS, "Looks like a dictionary");
- if (!append_dict (context, iter, sig_iter, obj))
+ // big_debug_marshal (BIG_DEBUG_JS_DBUS, "Looks like a dictionary");
+ if (!append_dict (ctx, iter, sig_iter, value, exception))
return FALSE;
}
}
- else if (value == SEEDVALUE_VOID)
+ else if (type == SEED_TYPE_UNDEFINED)
{
- big_debug (BIG_DEBUG_JS_DBUS,
- "Can't send void (undefined) values over dbus");
- gjs_throw (context, "Can't send void (undefined) values over dbus");
+ // big_debug (BIG_DEBUG_JS_DBUS,
+ // "Can't send void (undefined) values over dbus");
+ seed_make_exception (ctx, exception, "ArgumentError", "Can't send void (undefined) values over dbus");
return FALSE;
}
else
{
- big_debug (BIG_DEBUG_JS_DBUS,
- "Don't know how to convert this jsval to dbus type");
- gjs_throw (context,
- "Don't know how to convert this jsval to dbus type");
+ // big_debug (BIG_DEBUG_JS_DBUS,
+ // "Don't know how to convert this jsval to dbus type");
+ seed_make_exception (ctx, exception, "ArgumentError",
+ "Don't know how to convert this jsval to dbus type");
return FALSE;
}
@@ -910,44 +890,40 @@ seed_js_one_value_to_dbus (SeedContext ctx,
gboolean
seed_js_values_to_dbus (SeedContext ctx,
int index,
- jsval values,
- DBusMessageIter * iter, DBusSignatureIter * sig_iter)
+ SeedObject values,
+ DBusMessageIter * iter,
+ DBusSignatureIter * sig_iter,
+ SeedException *exception)
{
- jsval value;
- jsuint length;
-
- if (!JS_GetArrayLength (context, JSVAL_TO_OBJECT (values), &length))
- {
- gjs_throw (context, "Error retrieving length property of args array");
- return FALSE;
- }
+ SeedValue value;
+ guint length;
+ length = seed_value_to_int (ctx,
+ seed_object_get_property (ctx, values, "length"),
+ exception);
if (index > (int) length)
{
- gjs_throw (context, "Index %d is bigger than array length %d", index,
- length);
+ seed_make_exception (ctx, exception, "ArgumentError",
+ "Index %d is bigger than array length %d", index,
+ length);
return FALSE;
}
if (index == (int) length)
return TRUE;
+
+ value = seed_object_get_property_at_index (ctx, values, index, exception);
- if (!JS_GetElement (context, JSVAL_TO_OBJECT (values), index, &value))
- {
- gjs_throw (context, "Error accessing element %d of args array", index);
- return FALSE;
- }
-
- if (!seed_js_one_value_to_dbus (context, value, iter, sig_iter))
+ if (!seed_js_one_value_to_dbus (ctx, value, iter, sig_iter, exception))
{
- gjs_throw (context, "Error marshalling js value to dbus");
+ seed_make_exception (ctx, exception, "ArgumentError", "Error marshalling js value to dbus");
return FALSE;
}
if (dbus_signature_iter_next (sig_iter))
{
- return seed_js_values_to_dbus (context, index + 1, values, iter,
- sig_iter);
+ return seed_js_values_to_dbus (ctx, index + 1, values, iter,
+ sig_iter, exception);
}
return TRUE;
@@ -957,21 +933,18 @@ seed_js_values_to_dbus (SeedContext ctx,
* sender. If jsval is not an object, do nothing.
*/
gboolean
-seed_js_add_dbus_props (SeedContext ctx, DBusMessage * message, jsval value)
+seed_js_add_dbus_props (SeedContext ctx, DBusMessage * message, SeedValue value,
+ SeedException *exception)
{
- const char *sender;
+ gchar *sender;
- if (!JSVAL_IS_OBJECT (value))
+ if (!seed_value_is_object (ctx, value))
return TRUE;
- sender = dbus_message_get_sender (message);
-
- if (!JS_DefineProperty (context, JSVAL_TO_OBJECT (value),
- "_dbus_sender",
- STRING_TO_JSVAL (JS_NewStringCopyZ
- (context, sender)), NULL, NULL,
- JSPROP_ENUMERATE))
- return FALSE;
+ sender = (gchar *)dbus_message_get_sender (message);
+
+ seed_object_set_property (ctx, value, "_dbus_sender",
+ seed_value_from_string (ctx, sender, exception));
return TRUE;
}
diff --git a/modules/dbus/dbus-values.h b/modules/dbus/dbus-values.h
new file mode 100644
index 0000000..f12325b
--- /dev/null
+++ b/modules/dbus/dbus-values.h
@@ -0,0 +1,40 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+/* Copyright 2008 litl, LLC. All Rights Reserved. */
+
+#ifndef __SEED_JS_DBUS_VALUES_H__
+#define __SEED_JS_DBUS_VALUES_H__
+
+#include <glib.h>
+#include <dbus/dbus.h>
+#include <seed.h>
+
+G_BEGIN_DECLS
+
+gboolean seed_js_values_from_dbus (SeedContext ctx,
+ DBusMessageIter *iter,
+ GArray **aray_p,
+ SeedException *exception);
+gboolean seed_js_one_value_from_dbus (SeedContext ctx,
+ DBusMessageIter *iter,
+ SeedValue *value_p,
+ SeedException *exception);
+gboolean seed_js_values_to_dbus (SeedContext ctx,
+ int index,
+ SeedObject values,
+ DBusMessageIter *iter,
+ DBusSignatureIter *sig_iter,
+ SeedException *exception);
+gboolean seed_js_one_value_to_dbus (SeedContext ctx,
+ SeedValue value,
+ DBusMessageIter *iter,
+ DBusSignatureIter *sig_iter,
+ SeedException *exception);
+gboolean seed_js_add_dbus_props (SeedContext ctx,
+ DBusMessage *message,
+ SeedValue value,
+ SeedException *exception);
+
+
+G_END_DECLS
+
+#endif /* __SEED_JS_DBUS_VALUES_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]