mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-22 17:10:17 +01:00
* 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.
107 lines
2.5 KiB
XML
107 lines
2.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<node name="/org/freedesktop/DBus/Tests/MyTestObject">
|
|
<interface name="org.freedesktop.DBus.Tests.MyObject">
|
|
<method name="DoNothing">
|
|
</method>
|
|
|
|
<method name="Increment">
|
|
<arg type="u" name="x" />
|
|
<arg type="u" direction="out" />
|
|
</method>
|
|
|
|
<method name="ThrowError">
|
|
</method>
|
|
|
|
<method name="Uppercase">
|
|
<arg type="s" direction="in" />
|
|
<arg type="s" direction="out" />
|
|
</method>
|
|
|
|
<method name="ManyArgs">
|
|
<arg type="u" name="x" direction="in" />
|
|
<arg type="s" name="str" direction="in" />
|
|
<arg type="d" name="trouble" direction="in" />
|
|
<arg type="d" name="d_ret" direction="out" />
|
|
<arg type="s" name="str_ret" direction="out" />
|
|
</method>
|
|
|
|
<method name="ManyReturn">
|
|
<arg type="u" direction="out" />
|
|
<arg type="s" direction="out" />
|
|
<arg type="i" direction="out" />
|
|
<arg type="u" direction="out" />
|
|
<arg type="u" direction="out" />
|
|
<arg type="s" direction="out" />
|
|
</method>
|
|
|
|
<method name="Stringify">
|
|
<arg type="v" name="val" direction="in"/>
|
|
<arg type="s" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Unstringify">
|
|
<arg type="s" name="val" direction="in"/>
|
|
<arg type="v" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Recursive1">
|
|
<arg type="au" direction="in"/>
|
|
<arg type="u" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Recursive2">
|
|
<arg type="u" direction="in"/>
|
|
<arg type="au" direction="out"/>
|
|
</method>
|
|
|
|
<method name="ManyUppercase">
|
|
<arg type="as" direction="in"/>
|
|
<arg type="as" direction="out"/>
|
|
</method>
|
|
|
|
<method name="StrHashLen">
|
|
<arg type="a{ss}" direction="in"/>
|
|
<arg type="u" direction="out"/>
|
|
</method>
|
|
|
|
<method name="GetHash">
|
|
<arg type="a{ss}" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Objpath">
|
|
<arg type="o" direction="in"/>
|
|
<arg type="o" direction="out"/>
|
|
</method>
|
|
|
|
<method name="IncrementVal">
|
|
</method>
|
|
|
|
<method name="GetVal">
|
|
<arg type="u" direction="out" />
|
|
</method>
|
|
|
|
<method name="EmitFrobnicate">
|
|
</method>
|
|
|
|
<!-- Export signals -->
|
|
<signal name="Frobnicate"/>
|
|
</interface>
|
|
|
|
<!-- Test multiple interfaces on the same object -->
|
|
|
|
<interface name="org.freedesktop.DBus.Tests.FooObject">
|
|
<method name="GetValue">
|
|
<arg type="u" direction="out" />
|
|
</method>
|
|
|
|
<method name="EmitSignals">
|
|
</method>
|
|
|
|
<signal name="Sig0"/>
|
|
|
|
<signal name="Sig1"/>
|
|
|
|
</interface>
|
|
|
|
</node>
|