Author: jim
Date: 2005-04-24 14:05:32 -0600 (Sun, 24 Apr 2005)
New Revision: 925

Added:
   trunk/gnome-vfs/gnome-vfs-2.10.1-hal_0.5.0-1.patch
Log:
Added: gnome-vfs-2.10.1-hal_0.5.0-1.patch

Added: trunk/gnome-vfs/gnome-vfs-2.10.1-hal_0.5.0-1.patch
===================================================================
--- trunk/gnome-vfs/gnome-vfs-2.10.1-hal_0.5.0-1.patch  2005-04-24 20:04:42 UTC 
(rev 924)
+++ trunk/gnome-vfs/gnome-vfs-2.10.1-hal_0.5.0-1.patch  2005-04-24 20:05:32 UTC 
(rev 925)
@@ -0,0 +1,645 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2005-04-22
+Initial Package Version: 2.10.1
+Upstream Status:         Already in CVS
+Origin:                  GNOME CVS
+Description:             Port to the new HAL API (hal-0.5.0)
+
+diff -Naur gnome-vfs-2.10.1-orig/libgnomevfs/gnome-vfs-hal-mounts.c 
gnome-vfs-2.10.1/libgnomevfs/gnome-vfs-hal-mounts.c
+--- gnome-vfs-2.10.1-orig/libgnomevfs/gnome-vfs-hal-mounts.c   2004-12-10 
21:33:53.000000000 +0000
++++ gnome-vfs-2.10.1/libgnomevfs/gnome-vfs-hal-mounts.c        2005-04-22 
05:13:23.000000000 +0000
+@@ -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 @@
+       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 @@
+       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 @@
+       }
+ }
+ 
+-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 @@
+ 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 @@
+ _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 @@
+       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 @@
+       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 @@
+        * /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_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 @@
+                       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 @@
+                       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 @@
+               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 @@
+       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 @@
+       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 @@
+               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 @@
+       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 @@
+       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 @@
+        * /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 @@
+       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 @@
+       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 @@
+ 
+       /* 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 */

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to