dbus ChangeLog,1.928,1.929 configure.in,1.138,1.139

John Palmieri johnp at freedesktop.org
Tue Nov 22 12:37:02 PST 2005


Update of /cvs/dbus/dbus
In directory gabe:/tmp/cvs-serv18986

Modified Files:
	ChangeLog configure.in 
Log Message:
	* configure.in: Add test/name-test/Makefile to the generated
	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



Index: ChangeLog
===================================================================
RCS file: /cvs/dbus/dbus/ChangeLog,v
retrieving revision 1.928
retrieving revision 1.929
diff -u -d -r1.928 -r1.929
--- ChangeLog	15 Nov 2005 19:34:32 -0000	1.928
+++ ChangeLog	22 Nov 2005 20:37:00 -0000	1.929
@@ -1,3 +1,106 @@
+2005-11-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Add test/name-test/Makefile to the generated
+	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
+	
 2005-11-15  Robert McQueen  <robot101 at debian.org>
 
 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob

Index: configure.in
===================================================================
RCS file: /cvs/dbus/dbus/configure.in,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -d -r1.138 -r1.139
--- configure.in	14 Nov 2005 20:51:25 -0000	1.138
+++ configure.in	22 Nov 2005 20:37:00 -0000	1.139
@@ -1349,6 +1349,7 @@
 test/glib/Makefile
 test/python/Makefile
 test/qt/Makefile
+test/name-test/Makefile
 doc/Makefile
 dbus-1.pc
 dbus-glib-1.pc



More information about the dbus-commit mailing list