+static void
+send_one_message (DBusConnection *connection, void *data)
+{
+ dbus_connection_send_message (connection, data, NULL, NULL);
+}
+
+static void
+bus_driver_broadcast_message (DBusMessage *message)
+{
+ bus_connection_foreach (send_one_message, message);
+}
+
+static dbus_bool_t
+bus_driver_send_service_created (DBusConnection *connection, const char *name)
+{
+ DBusMessage *message;
+
+ message = dbus_message_new (NULL, BUS_DRIVER_SERVICE_CREATED_NAME);
+
+ if (!message)
+ return FALSE;
+
+ if (!dbus_message_append_fields (message,
+ DBUS_TYPE_STRING, name,
+ 0))
+ {
+ dbus_message_unref (message);
+ return FALSE;
+ }
+
+ dbus_message_set_sender (message, BUS_DRIVER_SERVICE_NAME);
+ bus_driver_broadcast_message (message);
+ dbus_message_unref (message);
+
+ return TRUE;
+}
+