public void Run()
{
DapSource source = null;
lock (service.sync) {
try {
if (service.sources.ContainsKey(device.Uuid))
{
return;
}
if (device is ICdromDevice || device is IDiscVolume)
{
return;
}
if (device is IVolume && (device as IVolume).ShouldIgnore)
{
return;
}
if (device.MediaCapabilities == null && !(device is IBlockDevice) && !(device is IVolume))
{
return;
}
source = service.FindDeviceSource(device);
if (source != null)
{
Log.DebugFormat("Found DAP support ({0}) for device {1} and Uuid {2}", source.GetType().FullName,
source.Name, device.Uuid);
service.sources.Add(device.Uuid, source);
}
} catch (Exception e) {
Log.Error(e);
}
}
if (source != null)
{
service.MapSource(source, false);
}
}