1. 25 Sep, 2012 1 commit
  2. 30 Aug, 2012 1 commit
  3. 21 Aug, 2012 1 commit
  4. 30 Jul, 2012 2 commits
  5. 20 Jul, 2012 1 commit
  6. 11 Jul, 2012 1 commit
  7. 04 Jun, 2012 1 commit
    • Tomáš Bžatek's avatar
      Port volume monitoring and metadata to GDBus · 8315eaf8
      Tomáš Bžatek authored
      This is a complete port of volume monitors and metadata to GDBus.
      The (private) d-bus API has been mostly preserved except of
      MountOp methods.
      
      No difference in functionality should be observed.
      8315eaf8
  8. 18 Oct, 2011 1 commit
  9. 28 Sep, 2011 1 commit
  10. 15 Aug, 2011 1 commit
  11. 27 May, 2010 1 commit
  12. 08 Jul, 2009 1 commit
    • David Zeuthen's avatar
      Bug 587484 – Interaction when unmounting mounts and misc fixes · 8af5a558
      David Zeuthen authored and Alexander Larsson's avatar Alexander Larsson committed
      - Port everything to use _with_operation() variants of unmount/eject
         methods
      
       - Add support for g_file_poll_mountable()
         - new job class: GVfsJobPollMountable
      
       - Pass mount operation for unmount/eject ops on GDaemonFile and
         GDaemonMount
         - receive in the appropriate GVfsJob classes
         - also pass unmount flags where it was missing
         - port all backends to use this
      
       - Teach GMountSource and GMountOperationDBus about the new
         GMountOperation::show-processes signal
         - also provide new API
           - g_mount_source_is_dummy() - e.g. when the client didn't
             passed NULL for the GMountOperation
           - g_mount_source_abort() - to send the ::abort signal to the
             client-side GMountOperation
           - make the client-side of GMountSource return ::reply with
             NOT_HANDLED when we do an abort
      
       - Refactor the mount operation handling in GProxyVolumeMonitor
      
       - Pass mount operation for unmount/ejects in GProxyVolumeMonitor
      
       - Pass the process id of the actual reader/writer in OpenForRead
         and OpenForWrite daemon methods
         - add some private API for making the FUSE client set the
           pid of the POSIX client (otherwise it looks like the FUSE
           client is blocking) and pass the right pid.
      
           This is because the FUSE client is basically impersonating the
           POSIX processes.
      
       - Make the process id mentioned above available in appropriate
         GVfsJob classes
         - GVfsJobOpenForRead
         - GVfsJobOpenForWrite
         - GVfsChannel
      
       - Provide API to get a list of all blocking clients, e.g. an array
         of GPid
         - g_vfs_daemon_get_blocking_processes()
      
       - Provide convenience API to easily doing the right thing on unmount;
         e.g. interact with the user about blocking processes - see the gphoto2
         backend for example usage
         - g_vfs_backend_has_blocking_processes()
         - g_vfs_backend_unmount_with_operation() and
           g_vfs_backend_unmount_with_operation_finish()
      
       - Only the gphoto2 backend supports ::show-processes right now. Support
         for other backends will be added shortly.
      
       - Implement support for ::show-processes in the GDU volume monitor
         - right now we don't support "Unmount Anyway" since it requires
           ABI changes in libgdu.so - this will be changed as soon as there's
           a new gnome-disk-utility release
      8af5a558
  13. 17 Jun, 2009 1 commit
  14. 08 May, 2009 1 commit
  15. 26 Mar, 2009 1 commit
    • Carlos Garnacho's avatar
      Bug 576083 – pre-unmount signals not being triggered · 41b61328
      Carlos Garnacho authored
      2009-03-26  Carlos Garnacho  <carlosg@gnome.org>
      
              Bug 576083 – pre-unmount signals not being triggered
      
              * monitor/hal/ghalmount.c (unmount_do) (unmount_do_cb): Emit
              ::mount-pre-unmount and wait 500msec before actually trying to
              unmount.
              * monitor/proxy/gproxyshadowmount.c (real_mount_pre_unmount_cb): Proxy
              the shadowed mount pre-unmount signal.
              * monitor/proxy/gproxyvolumemonitor.c (filter_function): GMount
              doesn't have the ::pre-unmount signal yet, so don't emit it.
      
      svn path=/trunk/; revision=2350
      41b61328
  16. 17 Mar, 2009 1 commit
    • Alexander Larsson's avatar
      Bug 575552 – icons for audio cds duplicated on the desktop after · 621d3f7d
      Alexander Larsson authored
      2009-03-17  Alexander Larsson  <alexl@redhat.com>
      
              Bug 575552 – icons for audio cds duplicated on the desktop after remounts
      
              * monitor/proxy/gproxyvolumemonitor.c:
      	Dispose volumes when removed
      
              * monitor/proxy/gproxyvolume.c:
      	When disposed, disconnect from union volume monitor so that we don't get
      	a mount_added for a later mount and create a shadow mount for that.
      
      
      svn path=/trunk/; revision=2338
      621d3f7d
  17. 04 Mar, 2009 1 commit
  18. 26 Feb, 2009 1 commit
    • David Zeuthen's avatar
      Lots of proxy monitor fixes. · ce397697
      David Zeuthen authored
      2009-02-26  David Zeuthen  <davidz@redhat.com>
      
      	Lots of proxy monitor fixes.
      
      	Reviewed by: Alexander Larsson  <alexl@redhat.com>
      
      	o  add support for proxying GMountOperation to the remote volume
      	   monitor process.
      
      	o  add support for proxying GCancellable to the remote volume
      	   monitor process.
      
      	o  make each volume monitor process track callers and cancels
      	   operations initiated by callers that disconnects from the bus
      
      	o  makes the client side proxy monitor track the remote monitor. If
      	   the monitor process disconnects, then all drives/volumes/mounts
      	   are removed. If the monitor process reconnects, we reseed the
      	   internal monitor and add drives/volumes/mounts.
      
      	o  Each monitor process now uses ALLOW_REPLACEMENT when claiming a
      	   name and also kills itself on NameLost (e.g. if it is
      	   replaced). Coupled with the above disconnection/reconnection logic
      	   it this makes it a lot more tolerable to hack on a remote volume
      	   monitor. Simply just compile it, start it and the
      	   existing (system-wide) copy will kill itself. And all the
      	   clients (Nautilus, panel, drive applet, gvfsd-computer, etc.) will
      	   reconnect and do the right thing.
      
      	o  make the get_mount_for_mount_path() method on the class
      	   GNativeVolumeMonitor actually work. It turns out that at least
      	   gvfs-mount -u needs that.
      
      	o  use /org/gtk/Private/RemoteVolumeMonitor instead of / as the
      	   object name. Cf. the version D-Bus debacle on Lennart Poettering's
      	   blog.
      
      	o  make the proxy monitor client module resident
      
      	o For shadow mounts, redirect can_eject() and eject() to the
      	  volume for the shadow mount. Without this patch eject on
      	  e.g. cdda:// volumes won't work since cdda:// volumes are
      	  GDaedmonMount and these don't implement eject.
      
      	* monitor/proxy/*.[ch]: See above.
      
      
      svn path=/trunk/; revision=2253
      ce397697
  19. 01 Dec, 2008 1 commit
    • Alexander Larsson's avatar
      Use the new support for shadow mounts instead of · cec43f67
      Alexander Larsson authored
      2008-12-01  Alexander Larsson  <alexl@redhat.com>
      
              * client/gdaemonmount.c:
              * client/gdaemonvolumemonitor.c:
              * monitor/proxy/Makefile.am:
              * monitor/proxy/gproxydrive.c:
              * monitor/proxy/gproxymount.c:
              * monitor/proxy/gproxyvolume.c:
              * monitor/proxy/gproxyvolume.h:
              * monitor/proxy/gproxyvolumemonitor.c:
              * monitor/proxy/gproxyvolumemonitor.h:
              * monitor/proxy/remote-volume-monitor-module.c:
      	* monitor/proxy/gproxyshadowmount.[ch]:
      	Use the new support for shadow mounts instead
      	of g_volume_monitor_adopt_orphan_mount
      
      	Patch from David Zeuthen (#555332)
      	
              * programs/gvfs-mount.c:
      	Add support to monitor volume monitor events
      
      
      svn path=/trunk/; revision=2119
      cec43f67
  20. 21 Oct, 2008 1 commit
    • Alexander Larsson's avatar
      Require glib 2.19.1 for GIcon serialization support · 1078f20f
      Alexander Larsson authored
      2008-10-21  Alexander Larsson  <alexl@redhat.com>
      
              * configure.ac:
      	Require glib 2.19.1 for GIcon serialization support
      	
              * common/gvfsdaemonprotocol.c:
      	Use g_icon_to_string & co instead of home-brewed serialization
      	
              * monitor/proxy/gproxydrive.c:
              * monitor/proxy/gproxymount.c:
              * monitor/proxy/gproxyvolume.c:
              * monitor/proxy/gproxyvolumemonitor.c:
              * monitor/proxy/gproxyvolumemonitor.h:
              * monitor/proxy/gvfsproxyvolumemonitordaemon.c:
      	Use g_icon_to_string & co instead of home-brewed serialization
      
      
      svn path=/trunk/; revision=2069
      1078f20f
  21. 23 Sep, 2008 1 commit
    • Alexander Larsson's avatar
      Only call the IsSupported dbus call when the class is actually needed · 0d1cff08
      Alexander Larsson authored
      2008-09-23  Alexander Larsson  <alexl@redhat.com>
      
              * monitor/proxy/gproxyvolumemonitor.[ch]:
              * monitor/proxy/gproxyvolumemonitor.h:
              * monitor/proxy/remote-volume-monitor-module.c:
      	Only call the IsSupported dbus call when the class
      	is actually needed instead of on gio init.
      	Don't integrate internal session bus with mainloop
      	during is_support code, as that is not necessary yet, and
      	it caused problem if done in a thread.
      	
      	This fixes the trash crash issue in bug #547568.
      
      2008-09-23  Alexander Larsson  <alexl@redhat.com>
      
              * client/Makefile.am:
              * common/Makefile.am:
              * common/gmountsource.c:
              * common/gmounttracker.c:
              * monitor/gphoto2/Makefile.am:
              * monitor/hal/Makefile.am:
              * monitor/proxy/Makefile.am:
      	Link all modules against the installed libgvfscommon instead
      	of duplicating the statically linked one. This is safe wrt
      	namespace conflicts, because the modules are opened RTLD_LOCAL
      	so the dependencies will not pollute the global namespace.
      
              * client/gdaemonvfs.c:
      	Make the gvfsdbus module persistant. This means we will never
      	unload it, and thus not unload libgvfscommon which could
      	be problematic. This is not a huge problem, as:
      	 + The gio modules will not be loaded anyway unless you use gio
      	 + The gvfsdbus module will be persistent anyway as soon as
      	   the app references the GVfs object, which likely all gio apps do
      	 + The module load order doesn't matter wrt unload order, because
      	   all gio modules are loaded before any one is unloaded.
      	
      
      
      svn path=/trunk/; revision=2021
      0d1cff08
  22. 04 Aug, 2008 1 commit
  23. 29 Jul, 2008 1 commit
    • David Zeuthen's avatar
      Add x-content/* support to daemon mounts. Right now a backend can only set · 9510e8d3
      David Zeuthen authored
      2008-07-29  David Zeuthen  <davidz@redhat.com>
      
              * client/gdaemonmount.c:
              * common/gmounttracker.c:
              * common/gmounttracker.h:
              * daemon/gvfsbackend.c:
              * daemon/gvfsbackend.h:
              * daemon/gvfsbackendcdda.c:
              * daemon/gvfsbackendgphoto2.c:
              * daemon/mount.c:
              Add x-content/* support to daemon mounts. Right now a backend
              can only set the x-content/* type ahead of time. We might want
              to add support dynamically obtaining it too (e.g. support
              force_rescan).
      
              * monitor/hal/ghalmount.c:
              * monitor/hal/ghalvolume.c:
              * monitor/hal/ghalvolumemonitor.c:
              * monitor/hal/hal-utils.c:
              * monitor/hal/hal-utils.h:
              Add x-content/* support to the HAL volume monitor.
      
              * monitor/proxy/gproxymount.c:
              * monitor/proxy/gproxymount.h:
              * monitor/proxy/gproxyvolumemonitor.c:
              * monitor/proxy/gproxyvolumemonitor.h:
              * monitor/proxy/gvfsproxyvolumemonitordaemon.c:
              Add x-content/* support to proxy volume monitor. Also fix
              a number of bugs the initial implementation had.
      
              * programs/gvfs-mount.c:
              Print out x-content-types.
      
      
      svn path=/trunk/; revision=1845
      9510e8d3
  24. 28 Jul, 2008 1 commit
  25. 23 Jul, 2008 1 commit
    • David Zeuthen's avatar
      Fix crasher (#544399) · 60a214c4
      David Zeuthen authored
      2008-07-23  David Zeuthen  <davidz@redhat.com>
      
      	* monitor/proxy/gproxyvolumemonitor.c
      	(g_proxy_volume_monitor_finalize): Fix crasher (#544399)
      
      
      svn path=/trunk/; revision=1834
      60a214c4
  26. 21 Jul, 2008 1 commit
  27. 16 Jul, 2008 1 commit
    • David Zeuthen's avatar
      Avoid setting up proxy volume monitors if no session bus is available. · d00f8396
      David Zeuthen authored
      2008-07-16  David Zeuthen  <davidz@redhat.com>
      
              * monitor/proxy/gproxyvolumemonitor.c:
              * monitor/proxy/gproxyvolumemonitor.h:
              * monitor/proxy/remote-volume-monitor-module.c:
              Avoid setting up proxy volume monitors if no session bus is
              available. Fixes a crasher with the Fedora NetworkManager system
              settings plug-in that is now using GIO to do file monitoring.
      
      
      svn path=/trunk/; revision=1818
      d00f8396
  28. 08 Jul, 2008 1 commit
    • David Zeuthen's avatar
      Provide infrastructure for out of process volume monitors and port the hal · cea84cb8
      David Zeuthen authored
      2008-07-08  David Zeuthen  <davidz@redhat.com>
      
              Provide infrastructure for out of process volume monitors and
              port the hal volume monitor to use it (#520132).
      
              * Makefile.am:
              * configure.ac:
              Add the monitor and monitor/proxy directories.
      
              * hal/Makefile.am:
              Don't build a gio module for the hal volume monitor; instead
              build a volume monitor daemon.
      
              * hal/ghaldrive.[ch]:
              * hal/ghalmount.[ch]:
              * hal/ghalvolume.[ch]:
              * hal/ghalvolumemonitor.[ch]:
              * hal/hal-device.[ch]:
              * hal/hal-device.[ch]:
              * hal/hal-pool.[ch]:
              Make all types static and implement g_volume_get_activation_root()
              added to gio (#541793). Also emit the drive-eject-button
              signal (#541794).
      
              * hal/hal-module.c:
              Removed since the monitor is being moved out of process.
      
              * hal/hal-volume-monitor-daemon.c:
              * hal/hal.monitor:
              * hal/org.gtk.Private.HalVolumeMonitor.service.in:
              New files for remote volume monitor.
      
              * monitor/Makefile.am:
              New file.
      
              * monitor/proxy/*:
              Add proxy volume monitor gio module (the D-Bus client side of
              out-of-process volume monitors) and a static library for providing
              the D-Bus server side of out of process volume monitors.
      
              * programs/gvfs-mount.c:
              Print activation uri for a volumes and icons for drives.
              Also unref volume monitor when no longer in use.
      
      
      svn path=/trunk/; revision=1815
      cea84cb8