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())

 
 
