Skip to content
  • John Palmieri's avatar
    * configure.in: Add test/name-test/Makefile to the generated · 1a163e76
    John Palmieri authored
    	Makefile list
    
    	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
    	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
    	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
    	not to queue an ower if it can't be the primary owner
    
    	* bus/bus.h: Add new internal BusOwner struct
    
    	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
    	to bus_registry_ensure and don't set the prohibit_replacement flag
    	since they are now set per BusOwner and not per name.
    	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners)
    	that returns the list of connections in a name's connection queue
    
    	* bus/services.c (struct BusService): remove prohibit_replacement field
    	(struct BusOwner): new struct for keeping track of queued connections
    	and their associated flags for the queue
    	(struct BusRegistry): add a BusOwner memory pool
    	(bus_registry_new): initialize the BusOwner memory pool
    	(bus_registry_unref): free the BusOwner memory pool
    	(_bus_service_find_owner_link): new internal method for
    	searching the queue for a specific connection
    	(bus_owner_set_flags): new method for adding setting the flags on a
    	bus owner
    	(bus_owner_new): new method that creates a BusOwner object from the
    	pool and sets its flags
    	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
    	(bus_registry_ensure): Add the flags parameter
    	(bus_registry_acquire_service): Switch from using raw connections to
    	using the BusOwner struct
    	Add new state machine for dealing with the new set of flags
    	(bus_registry_set_service_context_table, struct OwnershipCancelData,
    	cancel_ownership, free_ownership_cancel_data,
    	add_cancel_ownership_to_transaction, struct OwnershipRestoreData,
    	restore_ownership, free_ownership_restore_data,
    	add_restore_ownership_to_transaction): Switch to using BusOwner
    	instead of raw connections
    	(bus_service_add_owner): Add flags parameter
    	Switch to using BusOwner instead of raw connections
    	Add state machine for dealing with the new set of flags
    	(bus_service_swap_owner): Swaps the first and second owners in the
    	queue.  Used to make sure proper signals are sent when a service looses
    	or gains primary ownership.  We never insert an owner at the top of the
    	queue.  Instead we insert it in the second position and then swap.
    	(bus_service_remove_owner): Remove the owner from the queue sending
    	out the NameLost and NameOwnerChanged signals if the we were the
    	primary owner
    	(bus_service_get_primary_owners_connection): New method that extracts
    	the connection from the primary owner
    	(bus_service_get_primary_owner): Returns the BusOwner instead of the
    	connection
    	(bus_service_get_allow_replacement): Changed from the old
    	bus_service_get_prohibit_replacement method.  Checks the flags of the
    	primary owner and returns if it can be replaced or not
    	(bus_service_set_prohibit_replacement): removed
    	(bus_service_has_owner): returns TRUE if and owner with
    	the specified connection exists in the queue
    
    	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
    	method that only compiles if tests are enabled.  Allows us to get the
    	unique name of a connection so we can check it against the queue when
    	doing regression tests
    
    	* bus/activation.c (bus_activation_send_pending_auto_activate),
    	bus/dispatch.c (bus_dispatch),
    	bus/driver.c (bus_driver_handle_get_service_owner,
    	bus_driver_handle_get_connection_unix_user,
    	bus_driver_handle_get_connection_unix_process_id,
    	bus_driver_handle_get_connection_selinux_security_context),
    	bus/signals.c (connection_is_primary_owner):
    	use bus_service_get_primary_owners_connection instead of
    	bus_service_get_primary_owner
    
    	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket,
    	_dbus_listen_unix_socket): Calculate the length of the socket
    	path and use that instead of using a fixed length which was
    	causing socket names to contain many trailing Nul bytes.
    
    	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
    	(dbus_g_method_get_sender): New method for extracting the sender
    	from a DBusGMethodInvocation
    	(dbus_g_method_return_get_reply): changed name to
    	dbus_g_method_get_reply
    	(dbus_g_method_return_send_reply): changed name to
    	dbus_g_method_send reply
    
    	* doc/dbus-specification.xml: New docs that describe how the new
    	queueing system works and talks about the changes to the how
    	we specify socket names
    
    	* glib/examples/example-service.c,
    	glib/examples/example-signal-emitter.c,
    	glib/examples/statemachine/statemachine-server.c:
    	Changed the RequestName flags to the new system
    
    	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
    	regression test suite for testing various states of the new
    	queueing system
    1a163e76
To find the state of this project's repository at the time of any of these versions, check out the tags.