dbus/test/glib/test-service-glib.xml
Colin Walters 949436ffac 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.
2005-06-17 14:29:48 +00:00

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>