diff options
author | Colin Walters <walters@verbum.org> | 2005-06-17 14:29:48 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2005-06-17 14:29:48 +0000 |
commit | 949436ffac9e46649398e1bc9f0ddf567c88dd1c (patch) | |
tree | d8bad3f3ffa5813a7e99726b66bba3de8aafc319 /dbus | |
parent | 679018f00c7277ecd6272cb1be5dfdedf134c422 (diff) |
2005-06-17 Colin Walters <walters@verbum.org>
* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
spew warnings if we get malformed remote signals.
* glib/dbus-gobject.c (propsig_iterate): New function.
(lookup_object_info): New function, extracted from
lookup_object_and_method.
(introspect_properties, introspect_signals): Delete; these
are merged into write_interface.
(write_interface): Write out signals and properties here;
dump the org.gtk.object stuff and use the interface given
in the introspection data blob. Also fix up property XML.
(lookup_values): New function.
(introspect_interfaces): Gather a mapping from interface to a
list of its methods, signals, and properties, then write out
each interface.
(lookup_object_and_method): Use lookup_object_info.
(struct DBusGSignalClosure): Add interface.
(dbus_g_signal_closure_new): Add interface. Don't dup signame;
we can just use the constant data.
(dbus_g_signal_closure_finalize): Don't free signal name.
(signal_emitter_marshaller): Use interface from signal closure.
(export_signals): Only export signals mentioned in introspection
blob.
(dbus_g_connection_register_g_object): Warn if we have no
introspection data for an object.
(funcsig_equal): Remove unused variable.
(dbus_g_object_register_marshaller): Take varargs instead of
list.
(dbus_g_object_register_marshaller_array): New function,
extracted from old dbus_g_object_register_marshaller.
* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
signals and property data.
(write_quoted_string): New function, extracted from generate_glue.
(generate_glue): Write signals and properties to introspection
blob.
* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
exported_signals and exported_properties.
(dbus_g_object_register_marshaller): Update prototype.
(dbus_g_object_register_marshaller_array): Prototype.
* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
* test/glib/test-service-glib.c: Add new test signals and method
to emit them.
* test/glib/test-service-glib.xml: Add some test signals.
* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
and my-object-marshal.h
(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
my-object-marshal.c.
(my-object-marshal.c, my-object-marshal.h): Implement.
* test/glib/.cvsignore: Update.
* doc/TODO: Remove two GLib TODO items fixed by this
patch.
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-glib.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/dbus/dbus-glib.h b/dbus/dbus-glib.h index 80ed7f4f..4debe6fe 100644 --- a/dbus/dbus-glib.h +++ b/dbus/dbus-glib.h @@ -109,9 +109,11 @@ struct DBusGObjectInfo int format_version; /**< Allows us to change the rest of this struct * by adding DBusGObjectInfo2, DBusGObjectInfo3, etc. */ - const DBusGMethodInfo *infos; /**< Array of method pointers */ - int n_infos; /**< Length of the infos array */ + const DBusGMethodInfo *method_infos; /**< Array of method pointers */ + int n_method_infos; /**< Length of the infos array */ const char *data; /**< Introspection data */ + const char *exported_signals; /**< Exported signals */ + const char *exported_properties; /**< Exported properties */ }; void dbus_g_object_type_install_info (GType object_type, @@ -189,13 +191,16 @@ gboolean dbus_g_value_iterator_get_values (DBusGValueIterator *iter, void dbus_g_value_iterator_recurse (DBusGValueIterator *iter, DBusGValueIterator *sub); -void dbus_g_value_free (DBusGValue *value); +void dbus_g_value_free (DBusGValue *value); -void dbus_g_object_register_marshaller (GType rettype, - guint n_types, - const GType *param_types, - GClosureMarshal marshaller); +void dbus_g_object_register_marshaller (GClosureMarshal marshaller, + GType rettype, + ...); +void dbus_g_object_register_marshaller_array(GClosureMarshal marshaller, + GType rettype, + guint n_types, + const GType* types); typedef struct DBusGProxy DBusGProxy; typedef struct DBusGProxyClass DBusGProxyClass; |