| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* test/glib/test-dbus-glib.c:
	* test/glib/test-service-glib.c:
	* test/glib/test-service-glib.xml: Update tests for new error
	setting bits, also add async tests (patch from Ross Burton).
	* test/glib/Makefile.am (test_service_glib_LDADD): Add
	DBUS_GLIB_THREADS_LIBS.
	* glib/dbus-gproxy.c (get_name_owner)
	(dbus_g_pending_call_end_valist): Ditto.
	* glib/dbus-gobject.c (error_metadata): New mapping from GError
	domain (GQuark) to DBusGErrorInfo.
	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
	quark in error_metadata.  Take message interface as default
	error message interface.
	(gerror_to_dbus_error_message): Pass message interface.
	(dbus_set_g_error): Resurrected.
	(dbus_g_error_info_free): New function.
	(dbus_g_object_type_install_info): Use g_type_class_ref instead
	of _peek to actually create the object class if it hasn't been
	created yet.
	(dbus_g_error_domain_register): New function.
	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
	* glib/dbus-gparser.c (validate_signature): Ditto.
	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
	(dbus_g_error_domain_register): Prototype.
	* glib/dbus-glib.c (dbus_g_error_set): Delete.
	Update tests.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
	DBUS_TYPE_G_OBJECT_PATH.
	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
	(dbus_g_object_path_get_g_type): New function.
	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
	to DBUS_TYPE_G_OBJECT_PATH by default.
	(demarshal_proxy): Remove unused name variable.
	(demarshal_object_path, marshal_object_path): New functions.
	(demarshal_proxy_array, marshal_proxy_array): Delete.
	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
	DBUS_TYPE_G_OBJECT_PATH to char *.
	(dbus_g_type_get_lookup_function): Map builtin
	DBUS_TYPE_G_OBJECT_PATH.
	* test/glib/test-dbus-glib.c
	* test/glib/test-service-glib.c (my_object_objpath):
	Adapt tests to new object path marshalling.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Patch from Ross Burton <ross@openedhand.com>
	* glib/dbus-gobject.c (invoke_object_method): Unset object
	value in all cases, not only in async case.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
	name_call for keeping track of any outgoing GetNameOwner call.
	Also add for_owner and associated.
	(struct _DBusGProxyManager): Add owner_names, which is hash table
	that maps a base name to a list of names it owns (that we're
	interested in).  Add pending_nameowner_calls which is a list of
	all outstanding GetNameOwner; avoids us having to iterate over
	every proxy.  Add unassociated_proxies which keeps track of name
	proxies with no associated name owner.
	(dbus_g_proxy_manager_unref): Destroy owner_names.
	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
	name refcounts.
	(find_name_in_info, name_owner_foreach)
	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
	(dbus_g_proxy_manager_monitor_name_owner)
	(dbus_g_proxy_manager_unmonitor_name_owner)
	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
	New functions; they manipulate the owner_names mapping.
	(got_name_owner_cb): New function.
	(get_name_owner): New function, extracted from
	dbus_g_proxy_new_for_name_owner.
	(dbus_g_proxy_manager_register): For now we need to keep track of
	all NameOwnerChanged.  Also if the proxy is for a name, if we
	don't already know the name owner, queue a new GetNameOwner
	request and add it to our list of unassociated proxies.  Otherwise
	inc the refcount.
	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
	cancel any pending GetNameOwner call, etc.
	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
	the owner_names mapping to look up the current names for the
	signal source, and dispatch to any proxies for that name.
	(dbus_g_proxy_new): Initialize new members.
	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
	(dbus_g_pending_call_end_valist): New function, extracted from
	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
	but want to use the GLib infrastructure.  Also note how many
	arguments in reply were over.
	(dbus_g_pending_call_end): New function, just call
	dbus_g_pending_call_end_valist.
	(dbus_g_proxy_end_call_internal): Just call
	dbus_g_pending_call_end_valist.
	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
	of builtin marshaller for STRING_STRING_STRING.
	* test/glib/test-dbus-glib.c:
	* test/glib/test-service-glib.c:
	* test/glib/test-service-glib.xml:
	Extend tests to cover name proxies, destruction of owner proxies,
	etc.
	* glib/examples/example-signal-recipient.c
	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
	* tools/dbus-send.c (main): Print D-BUS error name in addition
	to message.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
cmessage_function_handler): Patch from
  Anthony Baxter <anthony@interlink.com.au> fixes threading problems
  by using the Py_GILState_Ensure/Release to synchronize with the
  python runtime.
 | 
| | 
| 
| 
| 
|  | 
*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
	babysitter helper process on last unref, bug #2813.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* test/glib/test-dbus-glib.c:
	* test/glib/test-service-glib.c:
	* test/glib/test-service-glib.xml:
	Test hash table signal emitting.
	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
	types to their fundamental basis types, since this is what
	marshallers operate on.  Also add an entry for VOID__BOXED.
	(dbus_g_object_register_marshaller_array): Convert to fundamental.
 | 
| | 
| 
| 
| 
|  | 
* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
	from Don Park
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* glib/dbus-glib.c (dbus_set_g_error): Delete.
	(dbus_g_error_set): New public function from its ashes; used by
	both service-side method implementation and GLib bindings
	internals.
	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
	(_dbus_glib_test): Add some tests.
	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
	* test/glib/test-service-glib.c (my_object_throw_error): Use
	dbus_g_error_set.
	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
	errors thrown by dbus_g_error_set.
	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
	* glib/dbus-gparser.c (validate_signature): Ditto.
	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner)
	(dbus_g_proxy_end_call_internal): Ditto.
	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
	converts DBUS_ERROR_x to DBUS_GERROR_x.
	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
	* doc/TODO: Remove error TODO.
	* doc/dbus-tutorial.xml: Update with documentation about error
	handling.
	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
 | 
| | 
| 
| 
| 
| 
|  | 
Patch from Ross Burton <ross@openedhand.com>
	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* configure.in: Add glib/examples.
	* glib/Makefile.am: Add examples/
	* glib/examples/.cvsignore
	* glib/examples/Makefile.am
	* glib/examples/example-client.c
	* glib/examples/example-service.c
	* glib/examples/example-service.xml
	* glib/examples/example-signal-emitter.c
	* glib/examples/example-signal-emitter.xml
	* glib/examples/example-signal-recipient.c:
	New files; GLib binding examples, ported from
	python/examples.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-glib.h:
	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
	dbus_g_proxy_call.
	* glib/dbus-binding-tool-glib.c:
	* doc/dbus-tutorial.xml:
	* test/glib/test-dbus-glib.c: Update for rename.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Patch suggested by Ross Burton <ross@openedhand.com>
	* glib/dbus-gobject.c (export_signals): Free signal name.
	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
	memory leak.  Add a bit of documentation.
	(dbus_g_method_return_error): Free context, and note we do
	so.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-glib.h:
        * glib/dbus-gobject.c:
        * glib/dbus-gproxy.c:
        * glib/dbus-gvalue.c: Predeclare structs as
        typedef struct _Something Something instead of
        typedef struct Something Something, so we can
        redeclare the prototypes. Other GNOME libraries
        do this already.
 | 
| | 
| 
| 
| 
|  | 
* tools/dbus-names-model.c (have_names_notify): Fix call
	to dbus_g_proxy_end_call.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
|  | 
* doc/TODO: Update for GLib bindings.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* glib/dbus-binding-tool-glib.c:
	* glib/dbus-gobject.c:
	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
	from Ross Burton, for his GLib bindings work.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
	to iterate instead of walking to G_TYPE_INVALID.
	Patch based on a patch from Ryan Gammon.
 | 
| | 
| 
| 
| 
|  | 
* bus/bus.c (bus_context_new): Set parser to NULL
	after we unref it (Patch from Chris Boscolo, #2174).
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* python/dbus_bindings.pyx.in: Import size_t,
	__int64_t, __uint64_t, and __signed.
	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
	Define cmsg struct, output it.
	(_dbus_read_credentials_unix_socket):
	Use cmsg struct.
	Patch from Joe Markus Clarke for FreeBSD support.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* tools/dbus-send.c (append_array): Use strtok.
	(append_dict): New function.
	(type_from_name): New function, extracted from main.
	(main): Handle sending dicts.
	* tools/dbus-print-message.c (print_iter): Print dict
	entries.
 | 
| | 
| 
| 
| 
|  | 
* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
	values as the empty string (#2948).
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/Makefile.am:
	* mono/doc/Makefile.am:
	* test/glib/Makefile.am:
	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-marshal-header.c (_dbus_header_load): Set
	header byte order from expected byte order (Patch from Chris Wilson, #3475).
	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper):
	Increment pointer after swapping fixed array.  Add assertion
	for array length.
 | 
| | 
| 
| 
| 
|  | 
* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
(_dbus_connection_run_builtin_filters): New method
        (dbus_connection_dispatch): Run the builtin filters which in turn
        runs the peer filter which handles Ping messages.
        * doc/TODO:
         - Ping isn't handled: This patch fixes it
         - Add a test case for the Ping message: added TODO item
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
(dbus_message_has_path): New method
        (dbus_message_has_interface): New method
        (dbus_message_has_member): New method
        * dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
        New method
        * dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that
        the keyring directory is private to the user
        * doc/TODO:
         - The convenience functions in dbus-bus.h should perhaps have
         the signatures that they would have if they were autogenerated
         stubs. e.g. the acquire service function. We should also evaluate
         which of these functions to include, in light of the fact that
         GLib/Qt native stubs will probably also exist.: Punted
         - add dbus_message_has_path(), maybe has_member/interface:
         fixed in this patch
         - in dbus-keyring.c, enforce that the keyring dir is not
         world readable/writable: Fixed in this patch
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for
        out of memory errors when validating signitures
        * dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
        in places where we previously used DBUS_VALID and a FALSE return
        value to indicate OOM
        * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
        Use a stack to track the number of elements inside containers.  The
        stack values are then used to validate that dict entries have only two
        elements within them.
        (validate_body_helper): check the reason for failure when validating
        varients
        * dbus/dbus-message.c (load_message): use
        DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used
        DBUS_VALID and a FALSE return value to indicate OOM
        * doc/TODO: remove "- validate dict entry number of fields" as this
        patch fixes it
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* bus/bus.c (process_config_every_time): Drop existing conf-dir
        watches (if applicable) and add new watches
        * bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
        (main): Setup SIGIO signal handler if using D_NOTIFY
        * bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
        * bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
        (merge_included): Also merge conf_dirs list
        (bus_config_parser_unref): Clear conf_dirs list
        (include_dir): Add directory to conf_dirs list
        (bus_config_parser_get_conf_dirs): New function
        * bus/dir-watch.[ch]: New files
        * bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
        * configure.in: Add checks for D_NOTIFY on Linux
 | 
| | 
| 
| 
| 
| 
|  | 
* glib/dbus-binding-tool-glib.c:
	* glib/dbus-gobject.c:
	* glib/dbus-gvalue.c: Fix indentation and brace style.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* glib/dbus-glib.h: Make DBusGMethodInvocation
	a private structure.  Rearrange prototypes a bit.
	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
	documentation for first_arg_type.
	* glib/dbus-gobject.c: Move DBusGMethodInvocation
	here, add documentation.  Move dbus_g_method_return
	and dbus_g_method_return_error into public API
	section.
 | 
| | 
| 
| 
| 
|  | 
* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
	Add missing return statements, noticed by Ross Burton.
 | 
| | 
| 
| 
| 
| 
|  | 
* glib/dbus-gobject.c: Handle errors on message
	demarshalling by sending error message back.
	* glib/dbus-gvalue.c: Initialize return variables.
 | 
| | 
| 
| 
|  | 
* glib/Makefile.am: Fix thinko in last patch.
 | 
| | 
| 
| 
| 
| 
|  | 
* glib/Makefile.am: Move dbus-gtype-specialized.c
	and dbus-gtype-specialized.h into a _HEADERS variable,
	install them.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Async signals and various bugfixes and testing by
	Ross Burton <ross@burtonini.com>.
	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
	(dbus_gvalue_genmarshal_name_from_type)
	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
	(dbus_g_value_types_init, dbus_gtype_from_signature)
	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
	(dbus_gtypes_from_arg_signature): New function prototypes.
	(dbus_gvalue_demarshal): Take context and error arguments.
	(dbus_gvalue_demarshal_variant): New function.
	(dbus_gvalue_demarshal_message): New function.
	(dbus_gvalue_store): Delete.
	* glib/dbus-gvalue.c:
	File has been almost entirely rewritten; now we special-case
	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
	hash tables correctly, etc.  Full support for recursive values
	is not yet complete.
	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
	argument of signal to G_TYPE_POINTER since we now pass a
	structure.
	(lookup_g_marshaller): Delete in favor of
	_dbus_gobject_lookup_marshaller.
	(marshal_dbus_message_to_g_marshaller): Use
	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
	to handle remote signal callbacks.
	(dbus_g_proxy_new_from_proxy): New function; creates a new
	DBusGProxy by copying an existing one.
	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
	(dbus_g_proxy_get_path): New functions.
	(dbus_g_proxy_marshal_args_to_message): New function;
	factored out of existing code.
	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
	from a varargs array.
	(dbus_g_proxy_begin_call_internal): New function.
	(dbus_g_proxy_end_call_internal): New function.
	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
	as arguments; simply invoke dbus_g_proxy_begin_call_internal
	after collecting args into value array.
	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
	invoke dbus_g_proxy_end_call_internal.
	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
	end_call_internal.
	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
	types.
	(array_free_all): New function.
	(dbus_g_proxy_add_signal): Take GTypes.
	* glib/dbus-gobject.h:
	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
	Prototype.
	* glib/dbus-gobject.c: Add a global marshal_table hash which
	stores mappings from type signatures to marshallers.  Change lots
	of invocations of dbus_gtype_to_dbus_type to
	dbus_gtype_to_signature.
	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
	(introspect_signals): Fix test for query.return_type.
	(set_object_property): Update invocation of dbus_gvalue_demarshal.
	(invoke_object_method): Many changes.  Handle asynchronous
	invocations.  Convert arguments with
	dbus_gvalue_demarshal_message.  Handle errors.  Use
	DBusSignatureIter instead of strlen on args. Handle all arguments
	generically.  Special-case variants.
	(dbus_g_method_return, dbus_g_method_return_error): New function.
	(DBusGSignalClosure): New structure, closes over signal
	information.
	(dbus_g_signal_closure_new): New function.
	(dbus_g_signal_closure_finalize): New function.
	(signal_emitter_marshaller): New function; is special marshaller
	which emits signals on bus.
	(export_signals): New function; introspects object signals and
	connects to them.
	(dbus_g_object_type_install_info): Take GType instead of
	GObjectClass.
	(dbus_g_connection_register_g_object): Invoke export_signals.
	(dbus_g_connection_lookup_g_object): New function.
	(DBusGFuncSignature) New structure; used for mapping type
	signatures to marshallers.
	(funcsig_hash): New function; hashes DBusGFuncSignature.
	(funcsig_equal): New function; compares DBusGFuncSignature.
	(_dbus_gobject_lookup_marshaller): New function.
	(dbus_g_object_register_marshaller): New function; used to
	register a marshaller at runtime for a particular signature.
	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
	which notes a server method implementation should be
	asynchronous.
	* glib/dbus-binding-tool-glib.c
	(dbus_binding_tool_output_glib_server): Call
	dbus_g_value_types_init.
	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
	variants specially.
	(dbus_g_type_get_lookup_function): Turn GType into an invocation
	of a lookup function.
	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
	(write_untyped_out_args): New method; write output arguments.
	(write_formal_declarations_for_direction): Function for
	writing prototypes.
	(write_formal_parameters_for_direction): Function for
	writing implementations.
	(write_typed_args_for_direction): Function for writing
	arguments prefixed with GTypes.
	(write_async_method_client): Write out async version
	of method.
	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
	(dbus_g_type_get_marshal_name): Move mapping from GType
	to marshal name into here.
	(dbus_g_type_get_c_name): Move into here.
	(compute_marshaller): Convert signature to type with
	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
	(compute_marshaller_name): Ditto.
	(compute_marshaller): Handle async signal annotations.
	(gather_marshallers): Return if we don't have a known
	prefix.
	(generate_glue): Collect introspection blob here, and
	write all of the blob at the end.  This allows an object
	with multiple interfaces to work.
	Mark async methods in introspection blob.
	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
	avoids people accidentally using DBUS_TYPE_* which should
	not be necessary anymore.
	Do include dbus-gtype-specialized.h, which are utilities
	for GLib container types.
	Add various #defines for types such as
	DBUS_TYPE_G_BOOLEAN_ARRAY.
	(DBusGValueIterator, DBusGValue): Define, not fully used
	yet.
	(dbus_g_value_get_g_type): Type for recursive value.
	(dbus_g_value_open, dbus_g_value_iterator_get_value)
	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
	(dbus_g_value_free): Prototypes.
	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
	(dbus_g_proxy_set_interface): Prototype.
	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
	types.
	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
	Accessors.
	(DBusGAsyncData, DBusGMethodInvocation): Structures for
	doing async invocations.
	(dbus_g_method_return, dbus_g_method_return_error):
	Prototypes.
	* doc/dbus-tutorial.xml: Update GLib section.
	* tools/dbus-viewer.c (load_child_nodes): Update
	for new invocation type of dbus_g_proxy_end_call.
	(load_from_service_thread_func): Ditto.
	* tools/print-introspect.c (main): Ditto.
	* tools/dbus-names-model.c (have_names_notify)
	(names_model_reload, names_model_set_connection)
	Use GTypes.
	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
	needed since Python bindings use GLib bindings.
	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
	Add --prefix argument.
	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
	unneeded --ignore-unsupported arg.
	* test/glib/test-service-glib.c:
	* test/glib/test-service-glib.xml:
	* test/glib/test-dbus-glib.c: Add many more tests.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
* doc/TODO: Add item about need to remove deprecated functions.
        * dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
        * dbus/dbus-connection.c (dbus_connection_disconnect): New function
        to repair the ABI which was broken with the last commit.
 | 
| | 
| 
| 
|  | 
item that was just fixed
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
s/dbus_connection_disconnect/dbus_connection_close
	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
	s/dbus_connection_disconnect/dbus_connection_close
	* test/test-service.c (path_message_func, filter_func):
	s/dbus_connection_disconnect/dbus_connection_close
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
(dbus_connection_disconnect): renamed to dbus_connection_close
	for API symmetry with dbus_connection_open
	(_dbus_connection_open_internal):
	s/dbus_connection_disconnect/dbus_connection_close
	* dbus/dbus-bus.c (dbus_bus_get):
	s/dbus_connection_disconnect/dbus_connection_close
	* bus/connection.c (bus_connections_unref,
	bus_connections_setup_connection, bus_connections_expire_incomplete):
	s/dbus_connection_disconnect/dbus_connection_close
	* bus/dispatch.c (bus_dispatch, kill_client_connection,
	kill_client_connection_unchecked, check_hello_connection):
	s/dbus_connection_disconnect/dbus_connection_close
	* bus/bus.c (new_connection_callback):
	s/dbus_connection_disconnect/dbus_connection_close
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-protocol.h: Move various bus service #defines such
	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
	  dbus/dbus-shared.h.
	* dbus/dbus-shared.h: Various defines moved here.
	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
 | 
| | 
| 
| 
|  | 
update.  Upped to (0, 40, 2)
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
for passing in the dbus message as keyword for edge case signal
  handling
* python/matchrules.py (SignalMatchRule.__repr__): fix output
  to conform with what dbus expects for match rules
  (SignalMatchRule.execute): add the dbus message as a keyword
  if the signal handler has requested it
* python/examples/example/signal-recipient.py: added some more
  examples on how to hook up to signals
* python/proxies.py: minor formatting changes
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* python/matchrules.py (SignalMatchRule, SignalMatchTree,
  SignalMatchNode): new classes that implement wildcard signal
  callback matching using a tree lookup. Heavily modified from a
  patch sent by Celso Pinto (fd.o bug #3241)
* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
  use new match classes to handle signals.
 | 
| |  | 
 |