- Build with patch for new hal/dbus API's - require hal-devel >= 0.5.0

f38
David Zeuthen 20 years ago
parent dd44be0b71
commit 3a7c20eb60

@ -0,0 +1,637 @@
--- libgnomevfs/gnome-vfs-hal-mounts.c.orig 2005-02-26 17:51:58.000000000 -0500
+++ libgnomevfs/gnome-vfs-hal-mounts.c 2005-02-26 16:46:28.000000000 -0500
@@ -49,16 +49,9 @@
typedef struct {
GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
- HalStoragePolicy *hal_storage_policy;
+ LibHalStoragePolicy *hal_storage_policy;
} GnomeVFSHalUserData;
-static void
-_hal_mainloop_integration (LibHalContext *ctx,
- DBusConnection * dbus_connection)
-{
- dbus_connection_setup_with_g_main (dbus_connection, NULL);
-}
-
static void
_hal_device_added (LibHalContext *hal_ctx,
const char *udi)
@@ -66,16 +59,16 @@ _hal_device_added (LibHalContext *hal_ct
GnomeVFSHalUserData *hal_userdata;
GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
+ hal_userdata = (GnomeVFSHalUserData *) libhal_ctx_get_user_data (hal_ctx);
volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
/* Handle optical discs without data since these are not handled
* by GNOME VFS
*/
- if (hal_device_get_property_bool (hal_ctx, udi, "volume.is_disc")) {
+ if (libhal_device_get_property_bool (hal_ctx, udi, "volume.is_disc", NULL)) {
const char *storage_udi;
- storage_udi = hal_device_get_property_string (hal_ctx, udi, "block.storage_device");
+ storage_udi = libhal_device_get_property_string (hal_ctx, udi, "block.storage_device", NULL);
if (storage_udi != NULL) {
GnomeVFSDrive *drive;
@@ -97,7 +90,7 @@ _hal_device_removed (LibHalContext *hal_
GnomeVFSHalUserData *hal_userdata;
GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
+ hal_userdata = (GnomeVFSHalUserData *) libhal_ctx_get_user_data (hal_ctx);
volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
drive = _gnome_vfs_volume_monitor_find_drive_by_hal_udi (
@@ -122,153 +115,93 @@ _hal_device_removed (LibHalContext *hal_
}
}
-static void
-_hal_device_new_capability (LibHalContext *hal_ctx,
- const char *udi,
- const char *capability)
-{
- GnomeVFSHalUserData *hal_userdata;
- GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
-
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
- volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
-
- /* do nothing */
-}
-
-static void
-_hal_device_lost_capability (LibHalContext *hal_ctx,
- const char *udi,
- const char *capability)
-{
- GnomeVFSHalUserData *hal_userdata;
- GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
-
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
- volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
- /* do nothing */
-}
-static void
-_hal_device_property_modified (LibHalContext *hal_ctx,
- const char *udi,
- const char *key,
- dbus_bool_t is_removed,
- dbus_bool_t is_added)
-{
- GnomeVFSHalUserData *hal_userdata;
- GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
-
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
- volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
-
- /* do nothing */
-}
-
-static void
-_hal_device_condition (LibHalContext *hal_ctx,
- const char *udi,
- const char *condition_name,
- DBusMessage *message)
-{
- GnomeVFSHalUserData *hal_userdata;
- GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon;
-
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
- volume_monitor_daemon = hal_userdata->volume_monitor_daemon;
-
- /* do nothing */
-}
-
-static LibHalFunctions
-hal_functions = { _hal_mainloop_integration,
- _hal_device_added,
- _hal_device_removed,
- _hal_device_new_capability,
- _hal_device_lost_capability,
- _hal_device_property_modified,
- _hal_device_condition };
-
-static HalStoragePolicyIconPair icon_mapping[] = {
- {HAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IDE, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_SCSI, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_USB, "gnome-dev-removable-usb"},
- {HAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IEEE1394, "gnome-dev-removable-1394"},
- {HAL_STORAGE_ICON_DRIVE_DISK, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_DISK_IDE, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_DISK_SCSI, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_DISK_USB, "gnome-dev-removable-usb"},
- {HAL_STORAGE_ICON_DRIVE_DISK_IEEE1394, "gnome-dev-removable-1394"},
- {HAL_STORAGE_ICON_DRIVE_CDROM, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_CDROM_IDE, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_CDROM_SCSI, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_CDROM_USB, "gnome-dev-removable-usb"},
- {HAL_STORAGE_ICON_DRIVE_CDROM_IEEE1394, "gnome-dev-removable-1394"},
- {HAL_STORAGE_ICON_DRIVE_FLOPPY, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_FLOPPY_IDE, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_FLOPPY_SCSI, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_FLOPPY_USB, "gnome-dev-removable-usb"},
- {HAL_STORAGE_ICON_DRIVE_FLOPPY_IEEE1394, "gnome-dev-removable-1394"},
- {HAL_STORAGE_ICON_DRIVE_TAPE, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_COMPACT_FLASH, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_MEMORY_STICK, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_SMART_MEDIA, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_SD_MMC, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_CAMERA, "gnome-dev-removable"},
- {HAL_STORAGE_ICON_DRIVE_PORTABLE_AUDIO_PLAYER, "gnome-dev-removable"},
-
- {HAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IDE, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_SCSI, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_USB, "gnome-dev-harddisk-usb"},
- {HAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IEEE1394, "gnome-dev-harddisk-1394"},
- {HAL_STORAGE_ICON_VOLUME_DISK, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_DISK_IDE, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_DISK_SCSI, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_DISK_USB, "gnome-dev-harddisk-usb"},
- {HAL_STORAGE_ICON_VOLUME_DISK_IEEE1394, "gnome-dev-harddisk-1394"},
- {HAL_STORAGE_ICON_VOLUME_CDROM, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_VOLUME_CDROM_IDE, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_VOLUME_CDROM_SCSI, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_VOLUME_CDROM_USB, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_VOLUME_CDROM_IEEE1394, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_VOLUME_FLOPPY, "gnome-dev-floppy"},
- {HAL_STORAGE_ICON_VOLUME_FLOPPY_IDE, "gnome-dev-floppy"},
- {HAL_STORAGE_ICON_VOLUME_FLOPPY_SCSI, "gnome-dev-floppy"},
- {HAL_STORAGE_ICON_VOLUME_FLOPPY_USB, "gnome-dev-floppy"},
- {HAL_STORAGE_ICON_VOLUME_FLOPPY_IEEE1394, "gnome-dev-floppy"},
- {HAL_STORAGE_ICON_VOLUME_TAPE, "gnome-dev-harddisk"},
- {HAL_STORAGE_ICON_VOLUME_COMPACT_FLASH, "gnome-dev-media-cf"},
- {HAL_STORAGE_ICON_VOLUME_MEMORY_STICK, "gnome-dev-media-ms"},
- {HAL_STORAGE_ICON_VOLUME_SMART_MEDIA, "gnome-dev-media-sm"},
- {HAL_STORAGE_ICON_VOLUME_SD_MMC, "gnome-dev-media-sdmmc"},
- {HAL_STORAGE_ICON_VOLUME_CAMERA, "camera"},
- {HAL_STORAGE_ICON_VOLUME_PORTABLE_AUDIO_PLAYER, "gnome-dev-ipod"},
-
- {HAL_STORAGE_ICON_DISC_CDROM, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_DISC_CDR, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_DISC_CDRW, "gnome-dev-cdrom"},
- {HAL_STORAGE_ICON_DISC_DVDROM, "gnome-dev-dvd"},
- {HAL_STORAGE_ICON_DISC_DVDRAM, "gnome-dev-dvd"},
- {HAL_STORAGE_ICON_DISC_DVDR, "gnome-dev-dvd"},
- {HAL_STORAGE_ICON_DISC_DVDRW, "gnome-dev-dvd"},
- {HAL_STORAGE_ICON_DISC_DVDPLUSR, "gnome-dev-dvd"},
- {HAL_STORAGE_ICON_DISC_DVDPLUSRW, "gnome-dev-dvd"},
+static LibHalStoragePolicyIconPair icon_mapping[] = {
+ {LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IDE, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_SCSI, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_USB, "gnome-dev-removable-usb"},
+ {LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IEEE1394, "gnome-dev-removable-1394"},
+ {LIBHAL_STORAGE_ICON_DRIVE_DISK, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_DISK_IDE, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_DISK_SCSI, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_DISK_USB, "gnome-dev-removable-usb"},
+ {LIBHAL_STORAGE_ICON_DRIVE_DISK_IEEE1394, "gnome-dev-removable-1394"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CDROM, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CDROM_IDE, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CDROM_SCSI, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CDROM_USB, "gnome-dev-removable-usb"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CDROM_IEEE1394, "gnome-dev-removable-1394"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLOPPY, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IDE, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_SCSI, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_USB, "gnome-dev-removable-usb"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IEEE1394, "gnome-dev-removable-1394"},
+ {LIBHAL_STORAGE_ICON_DRIVE_TAPE, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_COMPACT_FLASH, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_MEMORY_STICK, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_SMART_MEDIA, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_SD_MMC, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_CAMERA, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_PORTABLE_AUDIO_PLAYER, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_ZIP, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_JAZ, "gnome-dev-removable"},
+ {LIBHAL_STORAGE_ICON_DRIVE_FLASH_KEY, "gnome-dev-removable"},
+
+ {LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IDE, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_SCSI, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_USB, "gnome-dev-harddisk-usb"},
+ {LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IEEE1394, "gnome-dev-harddisk-1394"},
+ {LIBHAL_STORAGE_ICON_VOLUME_DISK, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_DISK_IDE, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_DISK_SCSI, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_DISK_USB, "gnome-dev-harddisk-usb"},
+ {LIBHAL_STORAGE_ICON_VOLUME_DISK_IEEE1394, "gnome-dev-harddisk-1394"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CDROM, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CDROM_IDE, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CDROM_SCSI, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CDROM_USB, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CDROM_IEEE1394, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLOPPY, "gnome-dev-floppy"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IDE, "gnome-dev-floppy"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_SCSI, "gnome-dev-floppy"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_USB, "gnome-dev-floppy"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IEEE1394, "gnome-dev-floppy"},
+ {LIBHAL_STORAGE_ICON_VOLUME_TAPE, "gnome-dev-harddisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_COMPACT_FLASH, "gnome-dev-media-cf"},
+ {LIBHAL_STORAGE_ICON_VOLUME_MEMORY_STICK, "gnome-dev-media-ms"},
+ {LIBHAL_STORAGE_ICON_VOLUME_SMART_MEDIA, "gnome-dev-media-sm"},
+ {LIBHAL_STORAGE_ICON_VOLUME_SD_MMC, "gnome-dev-media-sdmmc"},
+ {LIBHAL_STORAGE_ICON_VOLUME_CAMERA, "camera"},
+ {LIBHAL_STORAGE_ICON_VOLUME_PORTABLE_AUDIO_PLAYER, "gnome-dev-ipod"},
+ {LIBHAL_STORAGE_ICON_VOLUME_ZIP, "gnome-dev-zipdisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_JAZ, "gnome-dev-jazdisk"},
+ {LIBHAL_STORAGE_ICON_VOLUME_FLASH_KEY, "gnome-dev-harddisk"},
/*
- {HAL_STORAGE_ICON_DISC_CDROM, "gnome-dev-disc-cdrom"},
- {HAL_STORAGE_ICON_DISC_CDR, "gnome-dev-disc-cdr"},
- {HAL_STORAGE_ICON_DISC_CDRW, "gnome-dev-disc-cdrw"},
- {HAL_STORAGE_ICON_DISC_DVDROM, "gnome-dev-disc-dvdrom"},
- {HAL_STORAGE_ICON_DISC_DVDRAM, "gnome-dev-disc-dvdram"},
- {HAL_STORAGE_ICON_DISC_DVDR, "gnome-dev-disc-dvdr"},
- {HAL_STORAGE_ICON_DISC_DVDRW, "gnome-dev-disc-dvdrw"},
- {HAL_STORAGE_ICON_DISC_DVDPLUSR, "gnome-dev-disc-dvdr-plus"},
- {HAL_STORAGE_ICON_DISC_DVDPLUSRW, "gnome-dev-disc-dvdrw-plus"},
+ {LIBHAL_STORAGE_ICON_DISC_CDROM, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_DISC_CDR, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_DISC_CDRW, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDROM, "gnome-dev-dvd"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDRAM, "gnome-dev-dvd"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDR, "gnome-dev-dvd"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDRW, "gnome-dev-dvd"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDPLUSR, "gnome-dev-dvd"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDPLUSRW, "gnome-dev-dvd"},
*/
+ {LIBHAL_STORAGE_ICON_DISC_CDROM, "gnome-dev-cdrom"},
+ {LIBHAL_STORAGE_ICON_DISC_CDR, "gnome-dev-disc-cdr"},
+ {LIBHAL_STORAGE_ICON_DISC_CDRW, "gnome-dev-disc-cdrw"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDROM, "gnome-dev-disc-dvdrom"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDRAM, "gnome-dev-disc-dvdram"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDR, "gnome-dev-disc-dvdr"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDRW, "gnome-dev-disc-dvdrw"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDPLUSR, "gnome-dev-disc-dvdr-plus"},
+ {LIBHAL_STORAGE_ICON_DISC_DVDPLUSRW, "gnome-dev-disc-dvdrw"}, /* missing -plus icon here! */
+
{0x00, NULL}
};
@@ -276,26 +209,52 @@ static HalStoragePolicyIconPair icon_map
gboolean
_gnome_vfs_hal_mounts_init (GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon)
{
+ DBusError error;
+ DBusConnection *dbus_connection;
GnomeVFSHalUserData *hal_userdata;
- HalStoragePolicy *hal_storage_policy;
+ LibHalStoragePolicy *hal_storage_policy;
/* Initialise the connection to the hal daemon */
if ((volume_monitor_daemon->hal_ctx =
- hal_initialize (&hal_functions, FALSE)) == NULL) {
- g_warning ("hal_initialize failed\n");
+ libhal_ctx_new ()) == NULL) {
+ g_warning ("libhal_ctx_new failed\n");
+ return FALSE;
+ }
+
+ dbus_error_init (&error);
+ dbus_connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
+ if (dbus_error_is_set (&error)) {
+ g_warning ("Error connecting to D-BUS system bus: %s\n",
+ error.message);
+ dbus_error_free (&error);
+ return FALSE;
+ }
+ dbus_connection_setup_with_g_main (dbus_connection, NULL);
+
+ libhal_ctx_set_dbus_connection (volume_monitor_daemon->hal_ctx,
+ dbus_connection);
+
+ libhal_ctx_set_device_added (volume_monitor_daemon->hal_ctx,
+ _hal_device_added);
+ libhal_ctx_set_device_removed (volume_monitor_daemon->hal_ctx,
+ _hal_device_removed);
+
+ if (!libhal_ctx_init (volume_monitor_daemon->hal_ctx, &error)) {
+ g_warning ("libhal_ctx_init failed: %s\n", error.message);
+ dbus_error_free (&error);
return FALSE;
}
/* Setup GNOME specific policy - right now this is only icons */
- hal_storage_policy = hal_storage_policy_new ();
- hal_storage_policy_set_icon_mapping (hal_storage_policy, icon_mapping);
+ hal_storage_policy = libhal_storage_policy_new ();
+ libhal_storage_policy_set_icon_mapping (hal_storage_policy, icon_mapping);
/* Tie some data with the libhal context */
hal_userdata = g_new0 (GnomeVFSHalUserData, 1);
hal_userdata->volume_monitor_daemon = volume_monitor_daemon;
hal_userdata->hal_storage_policy = hal_storage_policy;
- hal_ctx_set_user_data (volume_monitor_daemon->hal_ctx,
+ libhal_ctx_set_user_data (volume_monitor_daemon->hal_ctx,
hal_userdata);
return TRUE;
}
@@ -304,13 +263,22 @@ void
_gnome_vfs_hal_mounts_shutdown (GnomeVFSVolumeMonitorDaemon *volume_monitor_daemon)
{
GnomeVFSHalUserData *hal_userdata;
+ DBusError error;
+
+ hal_userdata = (GnomeVFSHalUserData *) libhal_ctx_get_user_data (volume_monitor_daemon->hal_ctx);
+ libhal_storage_policy_free (hal_userdata->hal_storage_policy);
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (volume_monitor_daemon->hal_ctx);
- hal_storage_policy_free (hal_userdata->hal_storage_policy);
+ dbus_error_init (&error);
+ if (!libhal_ctx_shutdown (volume_monitor_daemon->hal_ctx, &error)) {
+ g_warning ("hal_shutdown failed: %s\n", error.message);
+ dbus_error_free (&error);
+ return;
+ }
- if (hal_shutdown (volume_monitor_daemon->hal_ctx) != 0) {
- g_warning ("hal_shutdown failed\n");
+ if (!libhal_ctx_free (volume_monitor_daemon->hal_ctx)) {
+ g_warning ("hal_shutdown failed - unable to free hal context\n");
}
+
}
/**************************************************************************/
@@ -330,10 +298,10 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
char *drive_icon;
char *unique_drive_name;
LibHalContext *hal_ctx;
- HalDrive *hal_drive;
- HalVolume *hal_volume;
+ LibHalDrive *hal_drive;
+ LibHalVolume *hal_volume;
GnomeVFSHalUserData *hal_userdata;
- HalStoragePolicy *hal_storage_policy;
+ LibHalStoragePolicy *hal_storage_policy;
char *target_mount_point;
hal_drive = NULL;
@@ -342,7 +310,7 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
if ((hal_ctx = volume_monitor_daemon->hal_ctx) == NULL)
goto out;
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
+ hal_userdata = (GnomeVFSHalUserData *) libhal_ctx_get_user_data (hal_ctx);
hal_storage_policy = hal_userdata->hal_storage_policy;
if (drive == NULL || drive->priv == NULL || drive->priv->device_path == NULL)
@@ -352,21 +320,21 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
* /dev/sda1 etc, however we get the Drive object for the parent if
* that is the case. This is a feature of libhal-storage.
*/
- if ((hal_drive = hal_drive_from_device_file (hal_ctx, drive->priv->device_path)) == NULL) {
+ if ((hal_drive = libhal_drive_from_device_file (hal_ctx, drive->priv->device_path)) == NULL) {
g_warning ("%s: no hal drive for device=%s", __FUNCTION__, drive->priv->device_path);
goto out;
}
/* There may not be a volume object associated, so hal_volume may be NULL */
- hal_volume = hal_volume_from_device_file (hal_ctx, drive->priv->device_path);
+ hal_volume = libhal_volume_from_device_file (hal_ctx, drive->priv->device_path);
/* For optical discs, we manually add/remove GnomeVFSVolume optical discs without
* data (e.g. blank and pure audio) since these don't appear in the mounted filesystems
* file /etc/mtab
*/
if (hal_volume != NULL &&
- hal_drive_get_type (hal_drive) == HAL_DRIVE_TYPE_CDROM &&
- hal_volume_is_disc (hal_volume) && !hal_volume_disc_has_data (hal_volume)) {
+ libhal_drive_get_type (hal_drive) == LIBHAL_DRIVE_TYPE_CDROM &&
+ libhal_volume_is_disc (hal_volume) && !libhal_volume_disc_has_data (hal_volume)) {
GnomeVFSVolume *volume;
char *volume_name;
char *volume_icon;
@@ -377,35 +345,35 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
gnome_vfs_volume_unref (volume);
} else {
- volume_name = hal_volume_policy_compute_display_name (
+ volume_name = libhal_volume_policy_compute_display_name (
hal_drive, hal_volume, hal_storage_policy);
/* set icon name; try dedicated icon name first... */
- if (hal_drive_get_dedicated_icon_volume (hal_drive) != NULL)
- volume_icon = strdup (hal_drive_get_dedicated_icon_volume (hal_drive));
+ if (libhal_drive_get_dedicated_icon_volume (hal_drive) != NULL)
+ volume_icon = strdup (libhal_drive_get_dedicated_icon_volume (hal_drive));
else
- volume_icon = hal_volume_policy_compute_icon_name (
+ volume_icon = libhal_volume_policy_compute_icon_name (
hal_drive, hal_volume, hal_storage_policy);
volume = g_object_new (GNOME_VFS_TYPE_VOLUME, NULL);
- volume->priv->hal_udi = g_strdup (hal_volume_get_udi (hal_volume));
+ volume->priv->hal_udi = g_strdup (libhal_volume_get_udi (hal_volume));
volume->priv->volume_type = GNOME_VFS_VOLUME_TYPE_MOUNTPOINT;
- if (hal_volume_disc_is_blank (hal_volume)) {
+ if (libhal_volume_disc_is_blank (hal_volume)) {
/* Blank discs should open the burn:/// location */
- volume->priv->device_path = g_strdup (hal_volume_get_device_file (hal_volume));
+ volume->priv->device_path = g_strdup (libhal_volume_get_device_file (hal_volume));
volume->priv->activation_uri = g_strdup ("burn:///");
- volume->priv->unix_device = makedev (hal_volume_get_device_major (hal_volume),
- hal_volume_get_device_minor (hal_volume));
- volume->priv->filesystem_type = g_strdup (hal_volume_get_fstype (hal_volume));
- } else if (hal_volume_disc_has_audio (hal_volume)) {
+ volume->priv->unix_device = makedev (libhal_volume_get_device_major (hal_volume),
+ libhal_volume_get_device_minor (hal_volume));
+ volume->priv->filesystem_type = g_strdup (libhal_volume_get_fstype (hal_volume));
+ } else if (libhal_volume_disc_has_audio (hal_volume)) {
/* Audio discs with data should open the cdda:///dev/cdrom location */
- volume->priv->device_path = g_strdup (hal_volume_get_device_file (hal_volume));
+ volume->priv->device_path = g_strdup (libhal_volume_get_device_file (hal_volume));
volume->priv->activation_uri = g_strdup_printf (
- "cdda://%s", hal_volume_get_device_file (hal_volume));
- volume->priv->unix_device = makedev (hal_volume_get_device_major (hal_volume),
- hal_volume_get_device_minor (hal_volume));
- volume->priv->filesystem_type = g_strdup (hal_volume_get_fstype (hal_volume));
+ "cdda://%s", libhal_volume_get_device_file (hal_volume));
+ volume->priv->unix_device = makedev (libhal_volume_get_device_major (hal_volume),
+ libhal_volume_get_device_minor (hal_volume));
+ volume->priv->filesystem_type = g_strdup (libhal_volume_get_fstype (hal_volume));
}
volume->priv->is_read_only = TRUE;
@@ -419,6 +387,7 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
volume->priv->is_user_visible = TRUE;
volume->priv->drive = drive;
+
_gnome_vfs_drive_add_mounted_volume (drive, volume);
_gnome_vfs_volume_monitor_mounted (GNOME_VFS_VOLUME_MONITOR (volume_monitor_daemon), volume);
@@ -427,7 +396,7 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
free (volume_name);
free (volume_icon);
}
- } else if (hal_volume == NULL && hal_drive_get_type (hal_drive) == HAL_DRIVE_TYPE_CDROM) {
+ } else if (hal_volume == NULL && libhal_drive_get_type (hal_drive) == LIBHAL_DRIVE_TYPE_CDROM) {
GnomeVFSVolume *volume;
/* Remove GnomeVFSVolume with same device file */
@@ -444,10 +413,10 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
goto out;
/* set whether we need to eject */
- drive->priv->must_eject_at_unmount = hal_drive_requires_eject (hal_drive);
+ drive->priv->must_eject_at_unmount = libhal_drive_requires_eject (hal_drive);
/* set display name */
- drive_name = hal_drive_policy_compute_display_name (hal_drive, hal_volume, hal_storage_policy);
+ drive_name = libhal_drive_policy_compute_display_name (hal_drive, hal_volume, hal_storage_policy);
unique_drive_name = _gnome_vfs_volume_monitor_uniquify_drive_name (
GNOME_VFS_VOLUME_MONITOR (volume_monitor_daemon), drive_name);
if (drive->priv->display_name != NULL)
@@ -456,10 +425,10 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
free (drive_name);
/* set icon name; try dedicated icon name first... */
- if (hal_drive_get_dedicated_icon_drive (hal_drive) != NULL)
- drive_icon = strdup (hal_drive_get_dedicated_icon_drive (hal_drive));
+ if (libhal_drive_get_dedicated_icon_drive (hal_drive) != NULL)
+ drive_icon = strdup (libhal_drive_get_dedicated_icon_drive (hal_drive));
else
- drive_icon = hal_drive_policy_compute_icon_name (hal_drive, hal_volume, hal_storage_policy);
+ drive_icon = libhal_drive_policy_compute_icon_name (hal_drive, hal_volume, hal_storage_policy);
if (drive->priv->icon != NULL)
g_free (drive->priv->icon);
drive->priv->icon = g_strdup (drive_icon);
@@ -469,7 +438,7 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
target_mount_point = NULL;
if (hal_volume != NULL) {
const char *str;
- str = hal_volume_get_mount_point (hal_volume);
+ str = libhal_volume_get_mount_point (hal_volume);
if (str != NULL)
target_mount_point = g_strdup (str);
}
@@ -479,18 +448,18 @@ _gnome_vfs_hal_mounts_modify_drive (Gnom
target_mount_point = gnome_vfs_get_local_path_from_uri (drive->priv->activation_uri);
/* if we don't use removable media and the volume shouldn't be visible, then hide the drive */
- if(!hal_drive_uses_removable_media (hal_drive) &&
- !hal_volume_policy_should_be_visible (hal_drive, hal_volume, hal_storage_policy, target_mount_point))
+ if(!libhal_drive_uses_removable_media (hal_drive) &&
+ !libhal_volume_policy_should_be_visible (hal_drive, hal_volume, hal_storage_policy, target_mount_point))
drive->priv->is_user_visible = FALSE;
g_free (target_mount_point);
/* set hal udi */
- drive->priv->hal_udi = g_strdup (hal_drive_get_udi (hal_drive));
+ drive->priv->hal_udi = g_strdup (libhal_drive_get_udi (hal_drive));
out:
- hal_volume_free (hal_volume);
- hal_drive_free (hal_drive);
+ libhal_volume_free (hal_volume);
+ libhal_drive_free (hal_drive);
}
void
@@ -501,10 +470,10 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
char *volume_icon;
char *unique_volume_name;
LibHalContext *hal_ctx;
- HalDrive *hal_drive;
- HalVolume *hal_volume;
+ LibHalDrive *hal_drive;
+ LibHalVolume *hal_volume;
GnomeVFSHalUserData *hal_userdata;
- HalStoragePolicy *hal_storage_policy;
+ LibHalStoragePolicy *hal_storage_policy;
char *target_mount_point;
hal_volume = NULL;
@@ -515,7 +484,7 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
if (volume == NULL || volume->priv == NULL || volume->priv->device_path == NULL)
goto out;
- hal_userdata = (GnomeVFSHalUserData *) hal_ctx_get_user_data (hal_ctx);
+ hal_userdata = (GnomeVFSHalUserData *) libhal_ctx_get_user_data (hal_ctx);
hal_storage_policy = hal_userdata->hal_storage_policy;
/* Now, modify the drive with the hal stuff, unless we've already done so */
@@ -526,17 +495,17 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
* /dev/sda1 etc, however we get the Drive object for the parent if
* that is the case. This is a feature of libhal-storage.
*/
- if ((hal_drive = hal_drive_from_device_file (hal_ctx, volume->priv->device_path)) == NULL) {
+ if ((hal_drive = libhal_drive_from_device_file (hal_ctx, volume->priv->device_path)) == NULL) {
g_warning ("%s: no hal drive for device=%s", __FUNCTION__, volume->priv->device_path);
goto out;
}
- if ((hal_volume = hal_volume_from_device_file (hal_ctx, volume->priv->device_path)) == NULL) {
+ if ((hal_volume = libhal_volume_from_device_file (hal_ctx, volume->priv->device_path)) == NULL) {
g_warning ("%s: no hal volume for device=%s", __FUNCTION__, volume->priv->device_path);
goto out;
}
/* set display name */
- volume_name = hal_volume_policy_compute_display_name (hal_drive, hal_volume, hal_storage_policy);
+ volume_name = libhal_volume_policy_compute_display_name (hal_drive, hal_volume, hal_storage_policy);
unique_volume_name = _gnome_vfs_volume_monitor_uniquify_volume_name (
GNOME_VFS_VOLUME_MONITOR (volume_monitor_daemon), volume_name);
if (volume->priv->display_name != NULL)
@@ -545,10 +514,10 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
free (volume_name);
/* set icon name; try dedicated icon name first... */
- if (hal_drive_get_dedicated_icon_volume (hal_drive) != NULL)
- volume_icon = strdup (hal_drive_get_dedicated_icon_volume (hal_drive));
+ if (libhal_drive_get_dedicated_icon_volume (hal_drive) != NULL)
+ volume_icon = strdup (libhal_drive_get_dedicated_icon_volume (hal_drive));
else
- volume_icon = hal_volume_policy_compute_icon_name (hal_drive, hal_volume, hal_storage_policy);
+ volume_icon = libhal_volume_policy_compute_icon_name (hal_drive, hal_volume, hal_storage_policy);
if (volume->priv->icon != NULL)
g_free (volume->priv->icon);
volume->priv->icon = g_strdup (volume_icon);
@@ -558,7 +527,7 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
target_mount_point = NULL;
{
const char *str;
- str = hal_volume_get_mount_point (hal_volume);
+ str = libhal_volume_get_mount_point (hal_volume);
if (str != NULL)
target_mount_point = g_strdup (str);
}
@@ -569,16 +538,16 @@ _gnome_vfs_hal_mounts_modify_volume (Gno
/* set whether it's visible on the desktop */
volume->priv->is_user_visible =
- hal_volume_policy_should_be_visible (hal_drive, hal_volume, hal_storage_policy, target_mount_point) &&
- (hal_drive_is_hotpluggable (hal_drive) || hal_drive_uses_removable_media (hal_drive));
+ libhal_volume_policy_should_be_visible (hal_drive, hal_volume, hal_storage_policy, target_mount_point) &&
+ (libhal_drive_is_hotpluggable (hal_drive) || libhal_drive_uses_removable_media (hal_drive));
g_free (target_mount_point);
/* set hal udi */
- volume->priv->hal_udi = g_strdup (hal_volume_get_udi (hal_volume));
+ volume->priv->hal_udi = g_strdup (libhal_volume_get_udi (hal_volume));
out:
- hal_drive_free (hal_drive);
- hal_volume_free (hal_volume);
+ libhal_drive_free (hal_drive);
+ libhal_volume_free (hal_volume);
}
#endif /* USE_HAL */

@ -9,7 +9,7 @@
Summary: The GNOME virtual file-system libraries. Summary: The GNOME virtual file-system libraries.
Name: gnome-vfs2 Name: gnome-vfs2
Version: 2.9.91 Version: 2.9.91
Release: 3 Release: 5
License: LGPL License: LGPL
Group: System Environment/Libraries Group: System Environment/Libraries
Source0: gnome-vfs-%{version}.tar.bz2 Source0: gnome-vfs-%{version}.tar.bz2
@ -33,7 +33,7 @@ BuildRequires: samba-common >= %{samba_version}
BuildRequires: openssl-devel fam-devel BuildRequires: openssl-devel fam-devel
BuildRequires: krb5-devel BuildRequires: krb5-devel
BuildRequires: howl-devel >= 0.9.8 BuildRequires: howl-devel >= 0.9.8
BuildRequires: hal-devel BuildRequires: hal-devel >= 0.5.0
Prereq: GConf2 >= %{gconf2_version} Prereq: GConf2 >= %{gconf2_version}
Patch3: gnome-vfs-2.9.90-modules-conf.patch Patch3: gnome-vfs-2.9.90-modules-conf.patch
@ -54,6 +54,9 @@ Patch104: gnome-vfs-2.8.2-browser_default.patch
Patch201: gnome-vfs-2.8.1-console-mount-opt.patch Patch201: gnome-vfs-2.8.1-console-mount-opt.patch
# send to upstream
Patch202: gnome-vfs-2.9.91-hal-api-2.patch
%description %description
GNOME VFS is the GNOME virtual file system. It is the foundation of GNOME VFS is the GNOME virtual file system. It is the foundation of
the Nautilus file manager. It provides a modular architecture and the Nautilus file manager. It provides a modular architecture and
@ -104,6 +107,9 @@ cp -f %{SOURCE1} modules
%patch104 -p1 -b .browser_default %patch104 -p1 -b .browser_default
%patch201 -p0 -b .console %patch201 -p0 -b .console
#send to upstream
%patch202 -p0 -b .hal-api2
%build %build
# needed for patch6 (changing makefile to old vfolder backend) # needed for patch6 (changing makefile to old vfolder backend)
@ -184,6 +190,9 @@ done
%config %{_sysconfdir}/gnome-vfs-2.0/modules/smb-module.conf %config %{_sysconfdir}/gnome-vfs-2.0/modules/smb-module.conf
%changelog %changelog
* Mon Mar 7 2005 David Zeuthen <davidz@redhat.com> - 2.9.91-5
- Build with patch for new hal/dbus API's - require hal-devel >= 0.5.0
* Wed Mar 2 2005 Tomas Mraz <tmraz@redhat.com> - 2.9.91-3 * Wed Mar 2 2005 Tomas Mraz <tmraz@redhat.com> - 2.9.91-3
- rebuild with openssl-0.9.7e - rebuild with openssl-0.9.7e

Loading…
Cancel
Save