Skip to content

Commit

Permalink
New txt/ files
Browse files Browse the repository at this point in the history
Original git commit by Alexander Larsson <alex@greebo.(none)> at 1160058629 +0200


git-svn-id: svn+ssh://svn.gnome.org/svn/gvfs/trunk@96 0feb0166-6c39-0410-8ede-fcc449a06167
  • Loading branch information
alexl committed Sep 13, 2007
1 parent eaabc53 commit f7c49fa
Show file tree
Hide file tree
Showing 3 changed files with 6,063 additions and 0 deletions.
65 changes: 65 additions & 0 deletions txt/gvfs_dbus.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
how to chain to simple stuff

how to parse uris (i.e. map to mounts)

what connections do we have:
shared dbus connection
connection to main daemom
connection to each mount daemon

"fast ops" (uri->gfile) vs blocking ops (read, open etc) and how to avoid slow blocking fast


each thread has, on demand:
connection to main daemon
connection to some mount daemons

global state:
cache of previously used mountpoints


how to mount

how to store/restore permanent mounts with the session => store as drives (mountpoints), not volumes!

Don't always want to log in to all mounts on login? (mounpoints!)

computer:// handled in main daemon?

No volume monitor in public API, only computer:// ?
Problems:
* mounted (desktop/computer:, trash dir)
* unmounted/pre_unmount (desktop/computer:, close windows on unmounted volumes, trash dir)
* map path to volume (close windows on unmounted volumes, check for readonly mount, get volume name)
* get all drives/volumes (detecting where to show eject, mount, unmount menu items,
tree view, places sidebar, display volume icon in pathbar)
* eject/unmount ops
* needs eject

unmounted URI => return a mountpoint object?

GMountOperation, async mount operation object
signals => passwd, question, keyring?

GFile mountpoint => GMountOperation

What process calls gnome-keyring?



--------------------

GFile creation => decompose URI, no i/o

on i/o:
* figure out mountpoint (for now, always toplevel uri location)
* if we have a local dbus connection to that, use it, otherwise:
+ create (if needed) local session dbus connection
+ ask for mount daemon for new session
- If not existing, error on i/o, return mountpoint type on get_info
+ set up new local connection with the mount daemon
* send dbus message
* recieve answer, if has magic flag, followed by fd sendmsg() (created by socketpair())



Loading

0 comments on commit f7c49fa

Please sign in to comment.