diff options
author | Colin Walters <walters@verbum.org> | 2005-02-27 17:38:12 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2005-02-27 17:38:12 +0000 |
commit | 2b97fb81a508a047b14f4c4426c28abfd18bb2e0 (patch) | |
tree | d44ef7f2fe5d373ac44e3a41add8bd3f08e2a8fc /glib/dbus-binding-tool-glib.c | |
parent | ee27481d7b7d6d9a4f41b7d641a2618dedf676dd (diff) |
2005-02-27 Colin Walters <walters@verbum.org>
* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
Change return value to const char * instead of int so we can do
full signatures.
(struct PropertyInfo, struct ArgInfo): Store char *.
(property_info_new, arg_info_new): Update parameters, strdup.
(property_info_unref, arg_info_unref): Free.
* glib/dbus-gidl.h: Update prototypes.
* glib/dbus-gparser.c (basic_type_from_string): Delete.
(validate_signature): New function, just validates signature and
sets GError.
(parse_property, parse_arg): Invoke validate_signature. Store
signature instead of just type code.
* glib/dbus-gvalue.c (base_type_from_signature): New utility
function to return a primary type for a signature, dropping
information about types in container types.
(dbus_gvalue_genmarshal_name_from_type)
(dbus_gvalue_binding_type_from_type)
(dbus_gvalue_ctype_from_type): Update to take full signature
instead of type code.
(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
* glib/dbus-gvalue.h: Update prototypes for above.
* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
(introspect_properties, introspect_signals, write_interface):
Update to handle signatures, and remove usage of
_dbus_gutils_type_to_string.
(handle_introspect): Print out type codes instead of e.g. "string"
in hardcoded introspection XML; also use x_AS_STRING constants
instead of hardcoding in string.
* glib/dbus-glib-tool.c (pretty_print): Handle signature change
to string. Remove usage of _dbus_gutils_type_to_string.
* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
deletion.
* glib/dbus-binding-tool-glib.c (compute_marshaller)
(compute_marshaller_name, generate_glue): Handle signature change
to string.
(write_formal_parameters, write_args_for_direction): Ditto, and
remove FIXME.
* tools/dbus-tree-view.c (type_to_string): Delete.
(info_set_func_text): Update to print full signatures.
* test/glib/test-service-glib.xml: Change types to new
introspection format.
Diffstat (limited to 'glib/dbus-binding-tool-glib.c')
-rw-r--r-- | glib/dbus-binding-tool-glib.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/glib/dbus-binding-tool-glib.c b/glib/dbus-binding-tool-glib.c index 94823cb1..641f07da 100644 --- a/glib/dbus-binding-tool-glib.c +++ b/glib/dbus-binding-tool-glib.c @@ -68,13 +68,15 @@ compute_marshaller (MethodInfo *method, GError **error) if (arg_info_get_direction (arg) == ARG_IN) { - const char *marshal_name = dbus_gvalue_genmarshal_name_from_type (arg_info_get_type (arg)); + const char *marshal_name; + + marshal_name = dbus_gvalue_genmarshal_name_from_type (arg_info_get_type (arg)); if (!marshal_name) { g_set_error (error, DBUS_BINDING_TOOL_ERROR, DBUS_BINDING_TOOL_ERROR_UNSUPPORTED_CONVERSION, - _("Unsupported conversion from D-BUS type %d to glib-genmarshal type"), + _("Unsupported conversion from D-BUS type %s to glib-genmarshal type"), arg_info_get_type (arg)); g_string_free (ret, TRUE); return NULL; @@ -129,7 +131,7 @@ compute_marshaller_name (MethodInfo *method, GError **error) if (arg_info_get_direction (arg) == ARG_IN) { const char *marshal_name; - int type; + const char *type; type = arg_info_get_type (arg); marshal_name = dbus_gvalue_genmarshal_name_from_type (type); @@ -145,7 +147,7 @@ compute_marshaller_name (MethodInfo *method, GError **error) } g_string_append (ret, "_"); - g_string_append (ret, dbus_gvalue_genmarshal_name_from_type (arg_info_get_type (arg))); + g_string_append (ret, dbus_gvalue_genmarshal_name_from_type (type)); } } @@ -385,7 +387,7 @@ generate_glue (BaseInfo *base, DBusBindingToolCData *data, GError **error) g_string_append_c (object_introspection_data_blob, direction); g_string_append_c (object_introspection_data_blob, '\0'); - g_string_append_c (object_introspection_data_blob, arg_info_get_type (arg)); + g_string_append (object_introspection_data_blob, arg_info_get_type (arg)); g_string_append_c (object_introspection_data_blob, '\0'); } @@ -608,7 +610,6 @@ write_formal_parameters (InterfaceInfo *iface, MethodInfo *method, GIOChannel *c direction = arg_info_get_direction (arg); - /* FIXME - broken for containers */ type_str = dbus_gvalue_ctype_from_type (arg_info_get_type (arg), direction == ARG_IN); if (!type_str) @@ -616,7 +617,7 @@ write_formal_parameters (InterfaceInfo *iface, MethodInfo *method, GIOChannel *c g_set_error (error, DBUS_BINDING_TOOL_ERROR, DBUS_BINDING_TOOL_ERROR_UNSUPPORTED_CONVERSION, - _("Unsupported conversion from D-BUS type %d to glib C type"), + _("Unsupported conversion from D-BUS type %s to glib C type"), arg_info_get_type (arg)); return FALSE; } @@ -660,15 +661,14 @@ write_args_for_direction (InterfaceInfo *iface, MethodInfo *method, GIOChannel * if (direction != arg_info_get_direction (arg)) continue; - /* FIXME - broken for containers */ type_str = dbus_gvalue_binding_type_from_type (arg_info_get_type (arg)); if (!type_str) { g_set_error (error, DBUS_BINDING_TOOL_ERROR, DBUS_BINDING_TOOL_ERROR_UNSUPPORTED_CONVERSION, - _("Unsupported conversion from D-BUS type %c"), - (char) arg_info_get_type (arg)); + _("Unsupported conversion from D-BUS type %s"), + arg_info_get_type (arg)); return FALSE; } |