Exemple #1
0
            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);
                }
            }