autorunManager: Clean up mount operations

Add a processMount function that's shared between mount scanning
and hotplug.

https://bugzilla.gnome.org/show_bug.cgi?id=684093
This commit is contained in:
Jasper St. Pierre 2012-09-19 01:38:26 -03:00
parent 448517032e
commit 7e496b1979

View File

@ -175,16 +175,21 @@ const AutorunManager = new Lang.Class({
this._volumeMonitor.disconnect(this._mountRemovedId);
},
_processMount: function(mount, hotplug) {
let discoverer = new ContentTypeDiscoverer(Lang.bind(this, function(mount, apps, contentTypes) {
this._ensureResidentSource();
this._residentSource.addMount(mount, apps);
if (hotplug)
this._transDispatcher.addMount(mount, apps, contentTypes);
}));
discoverer.guessContentTypes(mount);
},
_scanMounts: function() {
let mounts = this._volumeMonitor.get_mounts();
mounts.forEach(Lang.bind(this, function (mount) {
let discoverer = new ContentTypeDiscoverer(Lang.bind (this,
function (mount, apps) {
this._ensureResidentSource();
this._residentSource.addMount(mount, apps);
}));
discoverer.guessContentTypes(mount);
mounts.forEach(Lang.bind(this, function(mount) {
this._processMount(mount, false);
}));
},
@ -194,14 +199,7 @@ const AutorunManager = new Lang.Class({
if (!this._loginManager.sessionActive)
return;
let discoverer = new ContentTypeDiscoverer(Lang.bind (this,
function (mount, apps, contentTypes) {
this._transDispatcher.addMount(mount, apps, contentTypes);
this._ensureResidentSource();
this._residentSource.addMount(mount, apps);
}));
discoverer.guessContentTypes(mount);
this._processMount(mount, true);
},
_onMountRemoved: function(monitor, mount) {